Subscribe2 - Version 4.18

Version Description

Download this release

Release Info

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

Code changes from version 4.17 to 4.18

Files changed (5) hide show
  1. ReadMe.txt +70 -51
  2. counterwidget.php +1 -1
  3. include/options.php +5 -1
  4. subscribe2.php +165 -144
  5. subscribe2.pot +204 -196
ReadMe.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: MattyRob, Skippy, RavanH
3
Donate link: http://subscribe2.wordpress.com/donate/
4
Tags: posts, subscription, email, subscribe, notify, notification
5
Requires at least: 2.0.x
6
- Tested up to: 2.8.1beta2
7
- Stable tag: 4.17
8
9
Sends a list of subscribers an email notification when new posts are published to your blog
10
@@ -98,9 +98,26 @@ Registered Users have registered with your WorPress blog (provided you have enab
98
3. The Users->Subscriptions admin page generated by the plugin.
99
4. The Options->Subscribe2 admin page generated by the plugin.
100
101
- == Version History ==
102
103
- Version 4.17 by Matthew Robinson
104
105
* Tested for compatibility with WordPress 2.8.x
106
* Added TAGS and CATS keyword for per-post notification templates
@@ -113,7 +130,7 @@ Version 4.17 by Matthew Robinson
113
* Styled admin menu form buttons to fit with WordPress theme
114
* Improved handling of confirmation sending to reduce errors
115
116
- Version 4.16 by Matthew Robinson
117
118
* Correct minor layout issue in Settings->Subscribe2
119
* Allow users to define the div class name for the widget for styling purposes
@@ -130,13 +147,13 @@ Version 4.16 by Matthew Robinson
130
* Ensure database remains clean when categories are deleted
131
* Added new option to manage how auto-subscribe handles excluded categories
132
133
- Version 4.15 by Matthew Robinson
134
135
* Fixed E_DEPRECATE warning caused by a variable being passed by reference to the ksort() function
136
* Fixed called to undefined function caused by typo
137
* Fixed a syntax error in the SQL code constructors affecting some users
138
139
- Version 4.14 by Matthew Robinson
140
141
* Reordered some functions to improve grouping
142
* Stop s2mail custom variable being added if empty
@@ -151,7 +168,7 @@ Version 4.14 by Matthew Robinson
151
* Sender details now uses current user information from Write->Mail Subscribers
152
* Introduced 's2_template_filter' to allow other plugins to amend the email template on-the-fly
153
154
- Version 4.13 by Matthew Robinson
155
156
* Update weekly description
157
* Improve layout in the Subscribe2 form
@@ -166,7 +183,7 @@ Version 4.13 by Matthew Robinson
166
* Fix for Gallery code in emails sending entire media library
167
* Updated screen shots
168
169
- Version 4.12 by Matthew Robinson
170
171
* Added new option to remove Auto Subscribe option from Users->Your Subscriptions
172
* New POSTTIME token for digest email notifications
@@ -183,7 +200,7 @@ Version 4.12 by Matthew Robinson
183
* Fixed bug that prevented sending of Reminder emails from Manage->Subscribers
184
* Amended confirmation code so that only one email is sent no matter how many times users click on (un)subscribe links
185
186
- Version 4.11 by Matthew Robinson
187
188
* Works in WordPress 2.7-almost-beta!
189
* Fixed a bug in the mail() function that meant emails were not sent to recipients if the BCCLimit setting was greater than the total number of recipients for that mail type
@@ -193,7 +210,7 @@ Version 4.11 by Matthew Robinson
193
* Corrected a typo in the message displayed on the WordPress registration page if subscriptions are automatic
194
* Several layout and inline comment changes
195
196
- Version 4.10 by Matthew Robinson
197
198
* Fixed Registration form action from WordPress registrations
199
* Repositioned the button to send reminder emails
@@ -203,7 +220,7 @@ Version 4.10 by Matthew Robinson
203
* Improved form compliance with XHTML
204
* Fixed bug with cron time being changed every time options are changed
205
206
- Version 4.9 by Matthew Robinson
207
208
* Send email direct to recipient if BCC is set as 1
209
* Fix issue where WordPress shortcodes were not stripped out of emails
@@ -221,7 +238,7 @@ Version 4.9 by Matthew Robinson
221
* Added html_entity_decode to sender name fields
222
* Change Menu string for User menu to make it clearer whose preferences are being edited
223
224
- Version 4.8 by Matthew Robinson
225
226
* Removed unnecessary return statement at end of publish() function
227
* Ensured posts in digest are listed in date order
@@ -234,7 +251,7 @@ Version 4.8 by Matthew Robinson
234
* Added Subscribe2 support for blogging via email
235
* Work-around fix implemented for WordPress the_title bug
236
237
- Version 4.7 by Matthew Robinson
238
239
* Added admin control over default auto subscribe to new category option
240
* Improved Cron code to reduce the chance of duplicate emails
@@ -243,7 +260,7 @@ Version 4.7 by Matthew Robinson
243
* Completed code changes to allow WPMU compatibility
244
* Fixed some issues with the email headers now that Subscribe2 is using wp_mail() again
245
246
- Version 4.6 by Matthew Robinson
247
248
* Fixed mis-reporting of server error when unsubscribing
249
* Fixed fatal errors involving buttonsnap library
@@ -251,7 +268,7 @@ Version 4.6 by Matthew Robinson
251
* Fixed issue where Subscribe2 grabbed the first page from the database even if it wasn't published
252
* Fixed upgrade reporting for Debug and Uninstaller plugins
253
254
- Version 4.5 by Matthew Robinson
255
256
* Added Support for WordPress 2.5!
257
* Fixed HTML typo in admin submission message
@@ -271,7 +288,7 @@ Version 4.5 by Matthew Robinson
271
* Added option to send notifications for Private posts
272
* Improved handling of notification for Password Protected Posts
273
274
- Version 4.4 by Matthew Robinson
275
276
* Fixed non-substitution of TABLE keyword
277
* Fixed bug in usermeta update calls in unsubscribe_registered_users function
@@ -279,7 +296,7 @@ Version 4.4 by Matthew Robinson
279
* Improved array handling in the Digest function
280
* Added an Un-installer to completely removed Subscribe2 from your WordPress install
281
282
- Version 4.3 by Matthew Robinson
283
284
* Fixed bug where digest emails were sent to unsubscribed users - Thanks to Mr Papa
285
* Stripped slashes from Subject when sending from Write->Mail Subscribers - Thanks to James
@@ -291,33 +308,33 @@ Version 4.3 by Matthew Robinson
291
* Fixed email notifications for future dated posts
292
* Fixed QuickTag Icons and mouse-over floating text
293
294
- Version 4.2 by Matthew Robinson
295
296
* Added translation capability to user feedback strings - thanks to Lise
297
* Corrected some other translation strings
298
* Fixed bug in notification emails to admins when new users subscribe
299
* Updated default options code
300
301
- Version 4.1 by Matthew Robinson
302
303
* Fixed sending of notifications for Pages
304
* Fixed password protected post bug for Digest email notifications
305
* Fixed blank email headers if admin data is not at ID 1
306
307
- Version 4.0 by Matthew Robinson
308
309
* Compatible with WordPress 2.3
310
* Widget Code now integrated into the main plugin and added as an option
311
* More Options for Email Notifications
312
* Category Lists fixed for WordPress 2.3 and now show empty categories
313
314
- Version 3.8 by Matthew Robinson
315
316
* Fixed User Menu Settings when Digests enabled
317
* Changed Registered Subscribers to Registered Users in drop down to avoid confusion
318
* Minor code revisions for admin menu layout
319
320
- Version 3.7 by Matthew Robinson
321
322
* Change from deprecated get_settings -> get_option
323
* Fix for confirmation links not working for custom installs
@@ -327,18 +344,18 @@ Version 3.7 by Matthew Robinson
327
* Fixed Bulk Manage bug when using i18n files
328
* Fixed bug in cron emails if <!--more--> tag present
329
330
- Version 3.6 by Matthew Robinson
331
332
* Fixed a typo in Content-Type mail headers
333
* Fixed Auto Register functions to obey Excluded Categories
334
* Added option to check WP-Register checkbox by default
335
336
- Version 3.5 by Matthew Robinson
337
338
* Fixed a bug in the upgrade function that was messing up the options settings
339
* Updated the include.php file to preset recently introduced option settings
340
341
- Version 3.4 by Matthew Robinson
342
343
* QuickTag button now displays a Marker! (HUGE thanks to Raven!)
344
* Fix for excluded categories in User Menu
@@ -348,7 +365,7 @@ Version 3.4 by Matthew Robinson
348
* Option added to display subscription checkbox in WordPress Register screen
349
* Small typo and layout amendments
350
351
- Version 3.3 by Matthew Robinson
352
353
* QuickTag button added! Works with Visual and Standard Editor. __Look in Code for token addition if using RTE.__
354
* Current Server time displayed for Cron tasks
@@ -357,93 +374,95 @@ Version 3.3 by Matthew Robinson
357
* Fixed a bug affecting Registered Users not appearing in the drop down list
358
* Improved handling of the Subscribe2 option array
359
360
- Version 3.2 by Matthew Robinson
361
362
* Fixed a bug affecting Registered Users not appearing in the drop down list
363
* Improved handling of the Subscribe2 option array
364
365
- Version 3.1 by Matthew Robinson
366
367
* Amended code to use core cron functionality for future posts and digest notifications, no longer need WP-Cron
368
* Improved HTML code generated for admin pages
369
* Removed sending of emails for WordPress Pages
370
* Fixed display issues if S2PAGE is not defined
371
372
- Version 3.0 by Matthew Robinson
373
374
* Updated for WordPress 2.1 Branch
375
376
- Version 2.22 by Matthew Robinson
377
378
* Fixed User Menu Settings when Digests enabled
379
* Changed Registered Subscribers to Registered Users in drop down to avoid confusion
380
* Minor code revisions for admin menu layout
381
382
- Version 2.21 by Matthew Robinson
383
384
* Change from deprecated get_settings -> get_option
385
* Fixed bug in cron emails if <!--more--> tag present
386
387
- Version 2.20 by Matthew Robinson
388
389
* Fixed a typo in Content-Type mail headers
390
* Fixed Auto Register functions to obey Excluded Categories
391
392
- Version 2.19 by Matthew Robinson
393
394
* Fixed a bug in the upgrade function that was messing up the options settings
395
396
- Version 2.18 by Matthew Robinson
397
398
* BCCLIMIT typo corrected in Mail function
399
* Call to translation files moved to avoid call to undefined function
400
* Small typo and layout amendments
401
402
- Version 2.17 by Matthew Robinson
403
404
* Current Server time displayed for Cron tasks
405
* Fixed bug so Registered users now identified correctly
406
* Upgrade function called via WordPress hook to prevent calls to undefined functions
407
408
- Version 2.16 by Matthew Robinson
409
410
* Fixed a bug affecting Registered Users not appearing in the drop down list
411
* Improved handling of the Subscribe2 option array
412
413
- Version 2.15 by Matthew Robinson
414
415
* Improved HTML code generated for admin pages
416
* Fixed display issues if S2PAGE is not defined
417
418
- Version 2.14 by Matthew Robinson
419
420
* Amended DREAMHOST setting to BCCLIMIT as more hosts are limiting emails
421
* Fixed oversight in upgrade() function
422
423
- Version 2.13 by Matthew Robinson
424
425
* Added WordPress nonce functionality to improve admin security
426
427
- Version 2.12 by Matthew Robinson
428
429
* Fix for missing Quicktags (probably since version 2.2.10)
430
* Fix for occasional email issue where excerpts are incomplete
431
432
- Version 2.11 by Matthew Robinson
433
* Fixed bug that would cause all subscribers to get digest emails
434
* Added Select All check box to category listing
435
436
- Version 2.10 by Matthew Robinson
437
* Improved sign up process by double checking email address
438
* Fix for submenu issues encountered in WP 2.0.6
439
440
- Version 2.9 by Matthew Robinson
441
442
* Fixed get_userdata call issue
443
* Added CSV export
444
* Reworked options storage routines
445
446
- Version 2.8 by Matthew Robinson
447
448
* Fixed missing line return in email headers that was causing failed emails
449
* Added user feedback messages to profile area
@@ -452,29 +471,29 @@ Version 2.8 by Matthew Robinson
452
* Fixed stripslashes issue in email subjects
453
* Added new 'Action' token for confirmation emails
454
455
- Version 2.7 by Matthew Robinson
456
457
* Link to post in HTML emails is now functional
458
* Fixed bug in Bulk Management so it works when first loaded
459
* Ability to auto subscribe newly registering users
460
* Added additional email header information
461
462
- Version 2.6 by Matthew Robinson
463
464
* Fixed email headers to comply with RFC2822 standard (after breaking them in the first place)
465
* Impoved XHTML compliance of user feedback messages and subscription form when presented on a blog
466
* Tidied up presentation of the code a little
467
* Cached some additional variables
468
469
- Version 2.5 by Matthew Robinson
470
471
* Added functionality to Bulk Manage registered users subscriptions
472
473
- Version 2.4 by Matthew Robinson
474
475
* Added functionality to block user specified domains from public subscription
476
477
- Version 2.3 by Matthew Robinson
478
479
* Added functionality to allow for Subscribe2 Sidebar Widget
480
* Added functionality to block public email subscriptins from domains defined under Options
@@ -483,6 +502,6 @@ Version 2.3 by Matthew Robinson
483
* Replaced spaces with tabs in Plugin format
484
* Minor changes to admin layout to match WordPress admin function layout
485
486
- Version 2.2
487
488
* By Scott Merrill, see http://www.skippy.net/blog/category/wordpress/plugins/subscribe2/
3
Donate link: http://subscribe2.wordpress.com/donate/
4
Tags: posts, subscription, email, subscribe, notify, notification
5
Requires at least: 2.0.x
6
+ Tested up to: 2.8.2
7
+ Stable tag: 4.18
8
9
Sends a list of subscribers an email notification when new posts are published to your blog
10
98
3. The Users->Subscriptions admin page generated by the plugin.
99
4. The Options->Subscribe2 admin page generated by the plugin.
100
101
+ == Changelog ==
102
103
+ = Version 4.18 by Matthew Robinson =
104
+
105
+ * Option to sort digest posts in ascending or descending order
106
+ * Check that plugin options array exists before calling upgrade functions
107
+ * Improved reliability of the Preview function
108
+ * Extended Preview function to digest emails
109
+ * Fixed a code glitch that stopped CATS and TAGS from working
110
+ * Fixed incorrect sender information is emails are set to come from Post Author
111
+ * Simplified email notification format options in Users->Subscriptions for per-post notifications
112
+ * Added Bulk Manage option to update email notification format
113
+ * Simplified the usermeta database entries from two format variables down to one
114
+ * Removed trailing spaces from some strings for improved i18n support
115
+ * Improved Bulk Subscribe and Unsubscribe routines to avoid database artefacts
116
+ * Moved Select/Deselect All check box to the top of the category list in admin pages
117
+ * Fixed small layout glitch in Manage->Subscribers screen
118
+ * Added ChangeLog section to ReadMe to support WordPress.org/extend development
119
+
120
+ = Version 4.17 by Matthew Robinson =
121
122
* Tested for compatibility with WordPress 2.8.x
123
* Added TAGS and CATS keyword for per-post notification templates
130
* Styled admin menu form buttons to fit with WordPress theme
131
* Improved handling of confirmation sending to reduce errors
132
133
+ = Version 4.16 by Matthew Robinson =
134
135
* Correct minor layout issue in Settings->Subscribe2
136
* Allow users to define the div class name for the widget for styling purposes
147
* Ensure database remains clean when categories are deleted
148
* Added new option to manage how auto-subscribe handles excluded categories
149
150
+ = Version 4.15 by Matthew Robinson =
151
152
* Fixed E_DEPRECATE warning caused by a variable being passed by reference to the ksort() function
153
* Fixed called to undefined function caused by typo
154
* Fixed a syntax error in the SQL code constructors affecting some users
155
156
+ = Version 4.14 by Matthew Robinson =
157
158
* Reordered some functions to improve grouping
159
* Stop s2mail custom variable being added if empty
168
* Sender details now uses current user information from Write->Mail Subscribers
169
* Introduced 's2_template_filter' to allow other plugins to amend the email template on-the-fly
170
171
+ = Version 4.13 by Matthew Robinson =
172
173
* Update weekly description
174
* Improve layout in the Subscribe2 form
183
* Fix for Gallery code in emails sending entire media library
184
* Updated screen shots
185
186
+ = Version 4.12 by Matthew Robinson =
187
188
* Added new option to remove Auto Subscribe option from Users->Your Subscriptions
189
* New POSTTIME token for digest email notifications
200
* Fixed bug that prevented sending of Reminder emails from Manage->Subscribers
201
* Amended confirmation code so that only one email is sent no matter how many times users click on (un)subscribe links
202
203
+ = Version 4.11 by Matthew Robinson =
204
205
* Works in WordPress 2.7-almost-beta!
206
* Fixed a bug in the mail() function that meant emails were not sent to recipients if the BCCLimit setting was greater than the total number of recipients for that mail type
210
* Corrected a typo in the message displayed on the WordPress registration page if subscriptions are automatic
211
* Several layout and inline comment changes
212
213
+ = Version 4.10 by Matthew Robinson =
214
215
* Fixed Registration form action from WordPress registrations
216
* Repositioned the button to send reminder emails
220
* Improved form compliance with XHTML
221
* Fixed bug with cron time being changed every time options are changed
222
223
+ = Version 4.9 by Matthew Robinson =
224
225
* Send email direct to recipient if BCC is set as 1
226
* Fix issue where WordPress shortcodes were not stripped out of emails
238
* Added html_entity_decode to sender name fields
239
* Change Menu string for User menu to make it clearer whose preferences are being edited
240
241
+ = Version 4.8 by Matthew Robinson =
242
243
* Removed unnecessary return statement at end of publish() function
244
* Ensured posts in digest are listed in date order
251
* Added Subscribe2 support for blogging via email
252
* Work-around fix implemented for WordPress the_title bug
253
254
+ = Version 4.7 by Matthew Robinson =
255
256
* Added admin control over default auto subscribe to new category option
257
* Improved Cron code to reduce the chance of duplicate emails
260
* Completed code changes to allow WPMU compatibility
261
* Fixed some issues with the email headers now that Subscribe2 is using wp_mail() again
262
263
+ = Version 4.6 by Matthew Robinson =
264
265
* Fixed mis-reporting of server error when unsubscribing
266
* Fixed fatal errors involving buttonsnap library
268
* Fixed issue where Subscribe2 grabbed the first page from the database even if it wasn't published
269
* Fixed upgrade reporting for Debug and Uninstaller plugins
270
271
+ = Version 4.5 by Matthew Robinson =
272
273
* Added Support for WordPress 2.5!
274
* Fixed HTML typo in admin submission message
288
* Added option to send notifications for Private posts
289
* Improved handling of notification for Password Protected Posts
290
291
+ = Version 4.4 by Matthew Robinson =
292
293
* Fixed non-substitution of TABLE keyword
294
* Fixed bug in usermeta update calls in unsubscribe_registered_users function
296
* Improved array handling in the Digest function
297
* Added an Un-installer to completely removed Subscribe2 from your WordPress install
298
299
+ = Version 4.3 by Matthew Robinson =
300
301
* Fixed bug where digest emails were sent to unsubscribed users - Thanks to Mr Papa
302
* Stripped slashes from Subject when sending from Write->Mail Subscribers - Thanks to James
308
* Fixed email notifications for future dated posts
309
* Fixed QuickTag Icons and mouse-over floating text
310
311
+ = Version 4.2 by Matthew Robinson =
312
313
* Added translation capability to user feedback strings - thanks to Lise
314
* Corrected some other translation strings
315
* Fixed bug in notification emails to admins when new users subscribe
316
* Updated default options code
317
318
+ = Version 4.1 by Matthew Robinson =
319
320
* Fixed sending of notifications for Pages
321
* Fixed password protected post bug for Digest email notifications
322
* Fixed blank email headers if admin data is not at ID 1
323
324
+ = Version 4.0 by Matthew Robinson =
325
326
* Compatible with WordPress 2.3
327
* Widget Code now integrated into the main plugin and added as an option
328
* More Options for Email Notifications
329
* Category Lists fixed for WordPress 2.3 and now show empty categories
330
331
+ = Version 3.8 by Matthew Robinson =
332
333
* Fixed User Menu Settings when Digests enabled
334
* Changed Registered Subscribers to Registered Users in drop down to avoid confusion
335
* Minor code revisions for admin menu layout
336
337
+ = Version 3.7 by Matthew Robinson =
338
339
* Change from deprecated get_settings -> get_option
340
* Fix for confirmation links not working for custom installs
344
* Fixed Bulk Manage bug when using i18n files
345
* Fixed bug in cron emails if <!--more--> tag present
346
347
+ = Version 3.6 by Matthew Robinson =
348
349
* Fixed a typo in Content-Type mail headers
350
* Fixed Auto Register functions to obey Excluded Categories
351
* Added option to check WP-Register checkbox by default
352
353
+ = Version 3.5 by Matthew Robinson =
354
355
* Fixed a bug in the upgrade function that was messing up the options settings
356
* Updated the include.php file to preset recently introduced option settings
357
358
+ = Version 3.4 by Matthew Robinson =
359
360
* QuickTag button now displays a Marker! (HUGE thanks to Raven!)
361
* Fix for excluded categories in User Menu
365
* Option added to display subscription checkbox in WordPress Register screen
366
* Small typo and layout amendments
367
368
+ = Version 3.3 by Matthew Robinson =
369
370
* QuickTag button added! Works with Visual and Standard Editor. __Look in Code for token addition if using RTE.__
371
* Current Server time displayed for Cron tasks
374
* Fixed a bug affecting Registered Users not appearing in the drop down list
375
* Improved handling of the Subscribe2 option array
376
377
+ = Version 3.2 by Matthew Robinson =
378
379
* Fixed a bug affecting Registered Users not appearing in the drop down list
380
* Improved handling of the Subscribe2 option array
381
382
+ = Version 3.1 by Matthew Robinson =
383
384
* Amended code to use core cron functionality for future posts and digest notifications, no longer need WP-Cron
385
* Improved HTML code generated for admin pages
386
* Removed sending of emails for WordPress Pages
387
* Fixed display issues if S2PAGE is not defined
388
389
+ = Version 3.0 by Matthew Robinson =
390
391
* Updated for WordPress 2.1 Branch
392
393
+ = Version 2.22 by Matthew Robinson =
394
395
* Fixed User Menu Settings when Digests enabled
396
* Changed Registered Subscribers to Registered Users in drop down to avoid confusion
397
* Minor code revisions for admin menu layout
398
399
+ = Version 2.21 by Matthew Robinson =
400
401
* Change from deprecated get_settings -> get_option
402
* Fixed bug in cron emails if <!--more--> tag present
403
404
+ = Version 2.20 by Matthew Robinson =
405
406
* Fixed a typo in Content-Type mail headers
407
* Fixed Auto Register functions to obey Excluded Categories
408
409
+ = Version 2.19 by Matthew Robinson =
410
411
* Fixed a bug in the upgrade function that was messing up the options settings
412
413
+ = Version 2.18 by Matthew Robinson =
414
415
* BCCLIMIT typo corrected in Mail function
416
* Call to translation files moved to avoid call to undefined function
417
* Small typo and layout amendments
418
419
+ = Version 2.17 by Matthew Robinson =
420
421
* Current Server time displayed for Cron tasks
422
* Fixed bug so Registered users now identified correctly
423
* Upgrade function called via WordPress hook to prevent calls to undefined functions
424
425
+ = Version 2.16 by Matthew Robinson =
426
427
* Fixed a bug affecting Registered Users not appearing in the drop down list
428
* Improved handling of the Subscribe2 option array
429
430
+ = Version 2.15 by Matthew Robinson =
431
432
* Improved HTML code generated for admin pages
433
* Fixed display issues if S2PAGE is not defined
434
435
+ = Version 2.14 by Matthew Robinson =
436
437
* Amended DREAMHOST setting to BCCLIMIT as more hosts are limiting emails
438
* Fixed oversight in upgrade() function
439
440
+ = Version 2.13 by Matthew Robinson =
441
442
* Added WordPress nonce functionality to improve admin security
443
444
+ = Version 2.12 by Matthew Robinson =
445
446
* Fix for missing Quicktags (probably since version 2.2.10)
447
* Fix for occasional email issue where excerpts are incomplete
448
449
+ = Version 2.11 by Matthew Robinson =
450
+
451
* Fixed bug that would cause all subscribers to get digest emails
452
* Added Select All check box to category listing
453
454
+ = Version 2.10 by Matthew Robinson =
455
+
456
* Improved sign up process by double checking email address
457
* Fix for submenu issues encountered in WP 2.0.6
458
459
+ = Version 2.9 by Matthew Robinson =
460
461
* Fixed get_userdata call issue
462
* Added CSV export
463
* Reworked options storage routines
464
465
+ = Version 2.8 by Matthew Robinson =
466
467
* Fixed missing line return in email headers that was causing failed emails
468
* Added user feedback messages to profile area
471
* Fixed stripslashes issue in email subjects
472
* Added new 'Action' token for confirmation emails
473
474
+ = Version 2.7 by Matthew Robinson =
475
476
* Link to post in HTML emails is now functional
477
* Fixed bug in Bulk Management so it works when first loaded
478
* Ability to auto subscribe newly registering users
479
* Added additional email header information
480
481
+ = Version 2.6 by Matthew Robinson =
482
483
* Fixed email headers to comply with RFC2822 standard (after breaking them in the first place)
484
* Impoved XHTML compliance of user feedback messages and subscription form when presented on a blog
485
* Tidied up presentation of the code a little
486
* Cached some additional variables
487
488
+ = Version 2.5 by Matthew Robinson =
489
490
* Added functionality to Bulk Manage registered users subscriptions
491
492
+ = Version 2.4 by Matthew Robinson =
493
494
* Added functionality to block user specified domains from public subscription
495
496
+ = Version 2.3 by Matthew Robinson =
497
498
* Added functionality to allow for Subscribe2 Sidebar Widget
499
* Added functionality to block public email subscriptins from domains defined under Options
502
* Replaced spaces with tabs in Plugin format
503
* Minor changes to admin layout to match WordPress admin function layout
504
505
+ = Version 2.2 =
506
507
* By Scott Merrill, see http://www.skippy.net/blog/category/wordpress/plugins/subscribe2/
counterwidget.php CHANGED
@@ -1,7 +1,7 @@
1
<?php
2
/*
3
Plugin Name: Subscribe2 Counter Widget
4
- Version: 4.17
5
Plugin URI: http://subscribe2.wordpress.com
6
Description: Adds a sidebar widget to easily customize and display your Subscribe2 subscribers stats.
7
Author: Matthew Robinson
1
<?php
2
/*
3
Plugin Name: Subscribe2 Counter Widget
4
+ Version: 4.18
5
Plugin URI: http://subscribe2.wordpress.com
6
Description: Adds a sidebar widget to easily customize and display your Subscribe2 subscribers stats.
7
Author: Matthew Robinson
include/options.php CHANGED
@@ -26,10 +26,14 @@ if (!isset($this->subscribe2_options['autosub_def'])) {
26
$this->subscribe2_options['autosub_def'] = "yes";
27
} // option for user default auto-subscription to new categories
28
29
- if(!isset($this->subscribe2_options['bcclimit'])) {
30
$this->subscribe2_options['bcclimit'] = 0;
31
} // option for default bcc limit on email notifications
32
33
if (!isset($this->subscribe2_options['admin_email'])) {
34
$this->subscribe2_options['admin_email'] = "subs";
35
} // option for sending new subscriber notifications to admins
26
$this->subscribe2_options['autosub_def'] = "yes";
27
} // option for user default auto-subscription to new categories
28
29
+ if (!isset($this->subscribe2_options['bcclimit'])) {
30
$this->subscribe2_options['bcclimit'] = 0;
31
} // option for default bcc limit on email notifications
32
33
+ if (!isset($this->subscribe2_options['cron_order'])) {
34
+ $this->subscribe2_options['cron_order'] = 'asc';
35
+ } // option for sorting digest posts in ascending or descending order
36
+
37
if (!isset($this->subscribe2_options['admin_email'])) {
38
$this->subscribe2_options['admin_email'] = "subs";
39
} // option for sending new subscriber notifications to admins
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.17
7
Author: Matthew Robinson
8
Author URI: http://subscribe2.wordpress.com
9
*/
@@ -31,7 +31,7 @@ along with Subscribe2. If not, see <http://www.gnu.org/licenses/>.
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.17');
35
define('S2PATH', trailingslashit(dirname(__FILE__)));
36
37
// Pre-2.6 compatibility
@@ -60,11 +60,11 @@ class s2class {
60
function load_strings() {
61
// adjust the output of Subscribe2 here
62
63
- $this->please_log_in = "<p>" . __('To manage your subscription options please ', 'subscribe2') . "<a href=\"" . get_option('siteurl') . "/wp-login.php\">" . __('login', 'subscribe2') . "</a>.</p>";
64
65
- $this->use_profile_admin = "<p>" . __('You may manage your subscription options from your ', 'subscribe2') . "<a href=\"" . get_option('siteurl') . "/wp-admin/users.php?page=" . plugin_basename(__FILE__) . "\">" . __('profile', 'subscribe2') . "</a>.</p>";
66
67
- $this->use_profile_users = "<p>" . __('You may manage your subscription options from your ', 'subscribe2') . "<a href=\"" . get_option('siteurl') . "/wp-admin/profile.php?page=" . plugin_basename(__FILE__) . "\">" . __('profile', 'subscribe2') . "</a>.</p>";
68
69
$this->confirmation_sent = "<p>" . __('A confirmation message is on its way!', 'subscribe2') . "</p>";
70
@@ -278,8 +278,8 @@ class s2class {
278
$string = str_replace("MYNAME", stripslashes($this->myname), $string);
279
$string = str_replace("EMAIL", $this->myemail, $string);
280
$string = str_replace("AUTHORNAME", $this->authorname, $string);
281
- $string = str_replace("CATS", $this->post_cats_names, $string);
282
- $string = str_replace("TAGS", $this->post_tags_names, $string);
283
284
return $string;
285
} // end substitute()
@@ -363,7 +363,7 @@ class s2class {
363
reset($recipients);
364
365
// actually send mail
366
- if (isset($batch)) {
367
foreach ($batch as $bcc) {
368
$newheaders = $headers . "$bcc\r\n";
369
$status = @wp_mail($this->myemail, $subject, $mailtext, $newheaders);
@@ -379,9 +379,11 @@ class s2class {
379
Construct standard set of email headers
380
*/
381
function headers($type='text') {
382
- $admin = $this->get_userdata($this->subscribe2_options['sender']);
383
- $this->myname = html_entity_decode($admin->display_name);
384
- $this->myemail = $admin->user_email;
385
386
$headers = "From: \"" . $this->myname . "\" <" . $this->myemail . ">\n";
387
$headers .= "Reply-To: \"" . $this->myname . "\" <" . $this->myemail . ">\n";
@@ -491,15 +493,16 @@ class s2class {
491
}
492
$this->myemail = $user->user_email;
493
$this->myname = html_entity_decode($user->display_name);
494
// Get email subject
495
$subject = stripslashes(strip_tags($this->substitute($this->subscribe2_options['notification_subject'])));
496
// Get the message template
497
$mailtext = apply_filters('s2_email_template', $this->subscribe2_options['mailtext']);
498
$mailtext = stripslashes($this->substitute($mailtext));
499
500
- $this->post_cat_names = implode(', ', wp_get_post_categories($post->ID, array('fields' => 'names')));
501
- $this->post_tag_names = implode(', ', wp_get_post_tags($post->ID, array('fields' => 'names')));
502
-
503
$plaintext = $post->post_content;
504
if (function_exists('strip_shortcodes')) {
505
$plaintext = strip_shortcodes($plaintext);
@@ -536,16 +539,17 @@ class s2class {
536
$html_body = str_replace("POST", $content, $html_body);
537
538
if ($preview != '') {
539
$this->mail(array($preview), $subject, $excerpt_body);
540
$this->mail(array($preview), $subject, $full_body);
541
$this->mail(array($preview), $subject, $html_body, 'html');
542
} else {
543
// first we send plaintext summary emails
544
- $registered = $this->get_registered("cats=$post_cats_string&format=text&amount=excerpt");
545
if (empty($registered)) {
546
$recipients = (array)$public;
547
- }
548
- elseif (empty($public)) {
549
$recipients = (array)$registered;
550
} else {
551
$recipients = array_merge((array)$public, (array)$registered);
@@ -553,7 +557,7 @@ class s2class {
553
$this->mail($recipients, $subject, $excerpt_body);
554
555
// next we send plaintext full content emails
556
- $this->mail($this->get_registered("cats=$post_cats_string&format=text&amount=post"), $subject, $full_body);
557
558
// finally we send html full content emails
559
$this->mail($this->get_registered("cats=$post_cats_string&format=html"), $subject, $html_body, 'html');
@@ -606,10 +610,12 @@ class s2class {
606
$body = $this->substitute(stripslashes($this->subscribe2_options['confirm_email']));
607
if ('add' == $what) {
608
$body = str_replace("ACTION", $this->subscribe, $body);
609
} elseif ('del' == $what) {
610
$body = str_replace("ACTION", $this->unsubscribe, $body);
611
}
612
- $subject = $this->substitute(stripslashes($this->subscribe2_options['confirm_subject']));
613
}
614
615
$body = str_replace("LINK", $link, $body);
@@ -903,15 +909,12 @@ class s2class {
903
global $wpdb;
904
905
$format = '';
906
- $amount = '';
907
$cats = '';
908
$subscribers = array();
909
910
parse_str($args, $r);
911
if (!isset($r['format']))
912
$r['format'] = 'all';
913
- if (!isset($r['amount']))
914
- $r['amount'] = 'all';
915
if (!isset($r['cats']))
916
$r['cats'] = '';
917
@@ -922,28 +925,19 @@ class s2class {
922
$AND .= " AND b.meta_key='s2_format' AND b.meta_value=";
923
if ('html' == $r['format']) {
924
$AND .= "'html'";
925
- } elseif ('text' == $r['format']) {
926
- $AND .= "'text'";
927
- }
928
- }
929
-
930
- // full post or excerpt subscribers
931
- if ('all' != $r['amount']) {
932
- $JOIN .= "INNER JOIN $wpdb->usermeta AS c ON a.user_id = c.user_id ";
933
- $AND .= " AND c.meta_key='s2_excerpt' AND c.meta_value=";
934
- if ('excerpt' == $r['amount']) {
935
$AND .= "'excerpt'";
936
- } elseif ('post' == $r['amount']) {
937
- $AND.= "'post'";
938
}
939
}
940
941
// specific category subscribers
942
if ('' != $r['cats']) {
943
- $JOIN .= "INNER JOIN $wpdb->usermeta AS d ON a.user_id = d.user_id ";
944
$all = '';
945
foreach (explode(',', $r['cats']) as $cat) {
946
- ('' == $and) ? $and = "d.meta_key='" . $this->get_usermeta_keyname('s2_cat') . "$cat'" : $and .= " OR d.meta_key='" . $this->get_usermeta_keyname('s2_cat') . "$cat'";
947
}
948
$AND .= " AND ($and)";
949
}
@@ -1017,8 +1011,7 @@ class s2class {
1017
foreach (explode(',', $cats) as $cat) {
1018
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $cat, "$cat");
1019
}
1020
- update_usermeta($user_ID, 's2_format', 'text');
1021
- update_usermeta($user_ID, 's2_excerpt', 'excerpt');
1022
update_usermeta($user_ID, 's2_autosub', $this->subscribe2_options['autosub_def']);
1023
} else {
1024
// create post format entries for all users
@@ -1027,13 +1020,10 @@ class s2class {
1027
// ensure existing subscription options are not overwritten on upgrade
1028
if ('html' == $this->subscribe2_options['autoformat']) {
1029
update_usermeta($user_ID, 's2_format', 'html');
1030
- update_usermeta($user_ID, 's2_excerpt', 'post');
1031
} elseif ('fulltext' == $this->subscribe2_options['autoformat']) {
1032
- update_usermeta($user_ID, 's2_format', 'text');
1033
- update_usermeta($user_ID, 's2_excerpt', 'post');
1034
} else {
1035
- update_usermeta($user_ID, 's2_format', 'text');
1036
- update_usermeta($user_ID, 's2_excerpt', 'excerpt');
1037
}
1038
update_usermeta($user_ID, 's2_autosub', $this->subscribe2_options['autosub_def']);
1039
// if the are no existing subscriptions, create them if, by default if autosub is on
@@ -1043,6 +1033,14 @@ class s2class {
1043
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $cat, "$cat");
1044
}
1045
}
1046
}
1047
$subscribed = get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
1048
if (strstr($subscribed, '-1')) {
@@ -1060,7 +1058,7 @@ class s2class {
1060
/**
1061
Subscribe all registered users to category selected on Admin Manage Page
1062
*/
1063
- function subscribe_registered_users($emails = '', $cats = '') {
1064
if ( ('' == $emails) || ('' == $cats) ) { return false; }
1065
global $wpdb;
1066
@@ -1069,32 +1067,30 @@ class s2class {
1069
1070
$sql = "SELECT ID FROM $wpdb->users WHERE user_email IN ('$useremails')";
1071
$user_IDs = $wpdb->get_col($sql);
1072
- if (!is_array($cats)) {
1073
- $cats = array($cats);
1074
- }
1075
1076
foreach ($user_IDs as $user_ID) {
1077
$old_cats = get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
1078
- $old_cats = explode(',', $old_cats);
1079
- if (!is_array($old_cats)) {
1080
- $old_cats = array($old_cats);
1081
}
1082
- $new = array_diff($cats, $old_cats);
1083
- if (!empty($new)) {
1084
// add subscription to these cat IDs
1085
- foreach ($new as $id) {
1086
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $id, "$id");
1087
}
1088
}
1089
- $newcats = array_merge($cats, $old_cats);
1090
- update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), implode(',', $newcats));
1091
}
1092
} // end subscribe_registered_users()
1093
1094
/**
1095
Unsubscribe all registered users to category selected on Admin Manage Page
1096
*/
1097
- function unsubscribe_registered_users($emails = '', $cats = '') {
1098
if ( ('' == $emails) || ('' == $cats) ) { return false; }
1099
global $wpdb;
1100
@@ -1103,15 +1099,9 @@ class s2class {
1103
1104
$sql = "SELECT ID FROM $wpdb->users WHERE user_email IN ('$useremails')";
1105
$user_IDs = $wpdb->get_col($sql);
1106
- if (!is_array($cats)) {
1107
- $cats = array($cats);
1108
- }
1109
1110
foreach ($user_IDs as $user_ID) {
1111
$old_cats = explode(',', get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed')));
1112
- if (!is_array($old_cats)) {
1113
- $old_cats = array($old_cats);
1114
- }
1115
$remain = array_diff($old_cats, $cats);
1116
if (!empty($remain)) {
1117
// remove subscription to these cat IDs and update s2_subscribed
@@ -1126,6 +1116,7 @@ class s2class {
1126
}
1127
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), '');
1128
}
1129
}
1130
} // end unsubscribe_registered_users()
1131
@@ -1289,13 +1280,11 @@ class s2class {
1289
function get_userdata($admin_id) {
1290
global $wpdb, $userdata;
1291
1292
- // ensure compatability with possible 'sender' settings
1293
- if ( ($admin_id == 'admin') || ($admin_id == 'author') ) {
1294
- $admin_id = 1;
1295
- }
1296
-
1297
if (is_numeric($admin_id)) {
1298
$admin = get_userdata($admin_id);
1299
} else {
1300
$admin = &$userdata;
1301
}
@@ -1370,12 +1359,21 @@ class s2class {
1370
} elseif ($_POST['remind']) {
1371
$this->remind($_POST['reminderemails']);
1372
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Reminder Email(s) Sent!', 'subscribe2') . "</strong></p></div>";
1373
- } elseif ( ($_POST['register']) && ('subscribe' == $_POST['manage']) ) {
1374
$this->subscribe_registered_users($_POST['emails'], $_POST['category']);
1375
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Subscribed!', 'subscribe2') . "</strong></p></div>";
1376
- } elseif ( ($_POST['register']) && ('unsubscribe' == $_POST['manage']) ) {
1377
$this->unsubscribe_registered_users($_POST['emails'], $_POST['category']);
1378
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Unsubscribed!', 'subscribe2') . "</strong></p></div>";
1379
}
1380
}
1381
@@ -1557,17 +1555,17 @@ class s2class {
1557
if (in_array($subscriber, $confirmed)) {
1558
echo "</td><td align=\"center\">\r\n";
1559
echo "<input class=\"unconfirm_checkall\" title=\"" . __('Unconfirm this email address', 'subscribe2') . "\" type=\"checkbox\" name=\"unconfirm[]\" value=\"" . $subscriber . "\" /></td>\r\n";
1560
- echo "<td align=\"center\"><span class=\"delete\">\r\n";
1561
echo "<input class=\"delete_checkall\" title=\"" . __('Delete this email address', 'subscribe2') . "\" type=\"checkbox\" name=\"delete[]\" value=\"" . $subscriber . "\" />\r\n";
1562
- echo "</span></td>\r\n";
1563
echo "<td><span style=\"color:#006600\">&#x221A;&nbsp;&nbsp;</span><a href=\"mailto:" . $subscriber . "\">" . $subscriber . "</a>\r\n";
1564
echo "(<span style=\"color:#006600\">" . $this->signup_date($subscriber) . "</span>)\r\n";
1565
} elseif (in_array($subscriber, $unconfirmed)) {
1566
echo "<input class=\"confirm_checkall\" title=\"" . __('Confirm this email address', 'subscribe2') . "\" type=\"checkbox\" name=\"confirm[]\" value=\"" . $subscriber . "\" /></td>\r\n";
1567
echo "<td align=\"center\"></td>\r\n";
1568
- echo "<td align=\"center\"><span class=\"delete\">\r\n";
1569
echo "<input class=\"delete_checkall\" title=\"" . __('Delete this email address', 'subscribe2') . "\" type=\"checkbox\" name=\"delete[]\" value=\"" . $subscriber . "\" />\r\n";
1570
- echo "</span></td>\r\n";
1571
echo "<td><span style=\"color:#FF0000\">&nbsp;!&nbsp;&nbsp;&nbsp;</span><a href=\"mailto:" . $subscriber . "\">" . $subscriber . "</a>\r\n";
1572
echo "(<span style=\"color:#FF0000\">" . $this->signup_date($subscriber) . "</span>)\r\n";
1573
} elseif (in_array($subscriber, $all_users)) {
@@ -1593,16 +1591,21 @@ class s2class {
1593
1594
//show bulk managment form
1595
echo "<h2>" . __('Categories', 'subscribe2') . "</h2>\r\n";
1596
- echo "<p>";
1597
- echo __('Existing Registered Users can be automatically (un)subscribed to categories using this section.', 'subscribe2') . "<br />\r\n";
1598
echo "<strong><em style=\"color: red\">" . __('Consider User Privacy as changes cannot be undone', 'subscribe2') . "</em></strong><br />\r\n";
1599
echo "</p>";
1600
echo "<br />" . __('Action to perform', 'subscribe2') . ":\r\n";
1601
- echo "<label><input type=\"radio\" name=\"manage\" value=\"subscribe\" checked=\"checked\" />" . __('Subscribe', 'subscribe2') . "</label>\r\n";
1602
- echo "<label><input type=\"radio\" name=\"manage\" value=\"unsubscribe\" />" . __('Unsubscribe', 'subscribe2') . "</label><br /><br />\r\n";
1603
echo "<input type=\"hidden\" name=\"emails\" value=\"$emails\" />\r\n";
1604
$this->display_category_form();
1605
- echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"register\" value=\"" . __('Submit', 'subscribe2') . "\" /></p>";
1606
echo "</form></div>\r\n";
1607
1608
include(ABSPATH . 'wp-admin/admin-footer.php');
@@ -1624,8 +1627,12 @@ class s2class {
1624
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_reset</strong></p></div>";
1625
} elseif ($_POST['preview']) {
1626
global $user_email;
1627
- $post = get_posts('numberposts=1');
1628
- $this->publish($post[0], $user_email);
1629
} elseif ($_POST['submit']) {
1630
// BCClimit
1631
if ( (is_numeric($_POST['bcc'])) && ($_POST['bcc'] >= 0) ) {
@@ -1646,11 +1653,12 @@ class s2class {
1646
$this->subscribe2_options['pages'] = $_POST['pages'];
1647
$this->subscribe2_options['password'] = $_POST['password'];
1648
$this->subscribe2_options['private'] = $_POST['private'];
1649
1650
// send per-post or digest emails
1651
$email_freq = $_POST['email_freq'];
1652
$scheduled_time = wp_next_scheduled('s2_digest_cron');
1653
- if ( ($email_freq != $this->subscribe2_options['email_freq']) || ($_POST['hour'] != gmdate('H', $scheduled_time)) ) {
1654
$this->subscribe2_options['email_freq'] = $email_freq;
1655
wp_clear_scheduled_hook('s2_digest_cron');
1656
$scheds = (array)wp_get_schedules();
@@ -1660,13 +1668,13 @@ class s2class {
1660
unset($this->subscribe2_options['last_s2cron']);
1661
} else {
1662
// if we are using digest schedule the event and prime last_cron as now
1663
- $time = current_time('timestamp') + $interval;
1664
if ($interval < 86400) {
1665
// Schedule CRON events occurring less than daily starting now and periodically thereafter
1666
$timestamp = &$time;
1667
} else {
1668
// Schedule other CRON events starting at user defined hour and periodically thereafter
1669
- $timestamp = gmmktime($_POST['hour'], 0, 0, gmdate('m', $time), gmdate('d', $time), gmdate('Y', $time));
1670
}
1671
wp_schedule_event($timestamp, $email_freq, 's2_digest_cron');
1672
if (!isset($this->subscribe2_options['last_s2cron'])) {
@@ -1840,6 +1848,17 @@ class s2class {
1840
if (function_exists('wp_schedule_event')) {
1841
echo __('Send Emails', 'subscribe2') . ": <br /><br />\r\n";
1842
$this->display_digest_choices();
1843
}
1844
1845
// email templates
@@ -2066,16 +2085,7 @@ class s2class {
2066
check_admin_referer('subscribe2-user_subscribers' . $s2nonce);
2067
2068
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Subscription preferences updated.', 'subscribe2') . "</strong></p></div>\n";
2069
- $format = 'text';
2070
- $post = 'post';
2071
- if ('html' == $_POST['s2_format']) {
2072
- $format = 'html';
2073
- }
2074
- if ('excerpt' == $_POST['s2_excerpt']) {
2075
- $post = 'excerpt';
2076
- }
2077
- update_usermeta($user_ID, 's2_excerpt', $post);
2078
- update_usermeta($user_ID, 's2_format', $format);
2079
update_usermeta($user_ID, 's2_autosub', $_POST['new_category']);
2080
2081
$cats = $_POST['category'];
@@ -2138,22 +2148,17 @@ class s2class {
2138
echo "checked=\"checked\" ";
2139
}
2140
echo "/> " . __('HTML', 'subscribe2') ."</label>&nbsp;&nbsp;";
2141
- echo "<label><input type=\"radio\" name=\"s2_format\" value=\"text\" ";
2142
- if ('text' == get_usermeta($user_ID, 's2_format')) {
2143
echo "checked=\"checked\" ";
2144
}
2145
- echo "/> " . __('Plain Text', 'subscribe2') . "</label><br /><br />\r\n";
2146
-
2147
- echo __('Email contains', 'subscribe2') . ": &nbsp;&nbsp;";
2148
- $amount = array('excerpt' => __('Excerpt Only', 'subscribe2'), 'post' => __('Full Post', 'subscribe2'));
2149
- foreach ($amount as $key => $value) {
2150
- echo "<label><input type=\"radio\" name=\"s2_excerpt\" value=\"" . $key . "\"";
2151
- if ($key == get_usermeta($user_ID, 's2_excerpt')) {
2152
- echo " checked=\"checked\"";
2153
- }
2154
- echo " /> " . $value . "</label>&nbsp;&nbsp;";
2155
}
2156
- echo "<br /><span style=\"color: red;line-height: 300%;\">" . __('Note: HTML format will always deliver the full post', 'subscribe2') . ".</span><br />\r\n";
2157
if ($this->subscribe2_options['show_autosub'] == 'yes') {
2158
echo __('Automatically subscribe me to newly created categories', 'subscribe2') . ': &nbsp;&nbsp;';
2159
echo "<label><input type=\"radio\" name=\"new_category\" value=\"yes\" ";
@@ -2263,7 +2268,7 @@ class s2class {
2263
2264
if (!empty($blogs_subscribed)) {
2265
ksort($blogs_subscribed);
2266
- echo '<h2>' . __('Subscribed Blogs', 'subscribe2') . '</h2>'."\r\n";
2267
echo "<ul class=\"s2_blogs\">\r\n";
2268
foreach ($blogs_subscribed as $blog) {
2269
echo "<li><span class=\"name\"><a href=\"" . $blog['blogurl'] . "\" title=\"" . $blog['description'] . "\">" . $blog['blogname'] . "</a></span>\r\n";
@@ -2363,12 +2368,12 @@ class s2class {
2363
if (isset($_POST['subject'])) {
2364
$subject = $_POST['subject'];
2365
} else {
2366
- $subject = __('A message from ', 'subscribe2') . get_option('blogname');
2367
}
2368
echo "<p>" . __('Subject', 'subscribe2') . ": <input type=\"text\" size=\"69\" name=\"subject\" value=\"" . $subject . "\" /> <br /><br />";
2369
echo "<textarea rows=\"12\" cols=\"75\" name=\"content\">" . $body . "</textarea>";
2370
echo "<br /><br />\r\n";
2371
- echo __('Recipients: ', 'subscribe2');
2372
$this->display_subscriber_dropdown('registered', false, array('all'));
2373
echo "<input type=\"hidden\" name=\"s2_admin\" value=\"mail\" />";
2374
echo "</p>";
@@ -2407,6 +2412,9 @@ class s2class {
2407
$i = 0;
2408
$j = 0;
2409
echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"5\" class=\"editform\">\r\n";
2410
echo "<tr valign=\"top\"><td width=\"50%\" align=\"left\">\r\n";
2411
foreach ($all_cats as $cat) {
2412
if ( ($i >= $half) && (0 == $j) ){
@@ -2420,7 +2428,6 @@ class s2class {
2420
}
2421
echo " /> " . $cat->name . "</label><br />\r\n";
2422
} else {
2423
-
2424
echo "<label><input class=\"cat_checkall\" type=\"checkbox\" name=\"category[]\" value=\"" . $cat->term_id . "\"";
2425
if (in_array($cat->term_id, $selected)) {
2426
echo " checked=\"checked\" ";
@@ -2430,9 +2437,6 @@ class s2class {
2430
$i++;
2431
}
2432
echo "</td></tr>\r\n";
2433
- echo "<tr><td align=\"left\" colspan=\"2\">\r\n";
2434
- echo "<label><input type=\"checkbox\" name=\"checkall\" value=\"cat_checkall\" /> " . __('Select / Unselect All', 'subscribe2') . "</label>\r\n";
2435
- echo "</td></tr>\r\n";
2436
echo "</table>\r\n";
2437
} // end display_category_form()
2438
@@ -2564,7 +2568,7 @@ class s2class {
2564
echo "<select name=\"hour\">\r\n";
2565
while ($hour = current($hours)) {
2566
echo "<option value=\"" . key($hours) . "\"";
2567
- if (key($hours) == gmdate('H', $scheduled_time)) {
2568
echo " selected=\"selected\"";
2569
}
2570
echo ">" . $hour . "</option>\r\n";
@@ -2575,11 +2579,11 @@ class s2class {
2575
if ($scheduled_time) {
2576
$datetime = get_option('date_format') . ' @ ' . get_option('time_format');
2577
echo "<p>" . __('Current UTC time is', 'subscribe2') . ": \r\n";
2578
- echo "<strong>" . gmdate($datetime, current_time('timestamp', 1)) . "</strong></p>\r\n";
2579
echo "<p>" . __('Current blog time is', 'subscribe2') . ": \r\n";
2580
- echo "<strong>" . gmdate($datetime, current_time('timestamp')) . "</strong></p>\r\n";
2581
echo "<p>" . __('Next email notification will be sent when your blog time is after', 'subscribe2') . ": \r\n";
2582
- echo "<strong>" . gmdate($datetime, wp_next_scheduled('s2_digest_cron')) . "</strong></p>\r\n";
2583
} else {
2584
echo "<br />";
2585
}
@@ -2651,8 +2655,8 @@ class s2class {
2651
*/
2652
function s2_meta_init() {
2653
if (function_exists('add_meta_box')) {
2654
- add_meta_box('subscribe2', __( 'Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'post', 'advanced');
2655
- add_meta_box('subscribe2', __( 'Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'page', 'advanced');
2656
} else {
2657
add_action('dbx_post_advanced', array(&$this, 's2_meta_box_old'));
2658
add_action('dbx_page_advanced', array(&$this, 's2_meta_box_old'));
@@ -2985,31 +2989,40 @@ class s2class {
2985
/**
2986
Send a daily digest of today's new posts
2987
*/
2988
- function subscribe2_cron() {
2989
global $wpdb;
2990
2991
- // update last_s2cron execution time before completing or bailing
2992
- $now = current_time('mysql');
2993
- $prev = $this->subscribe2_options['last_s2cron'];
2994
- $this->subscribe2_options['last_s2cron'] = $now;
2995
- update_option('subscribe2_options', $this->subscribe2_options);
2996
2997
- //set up SQL query based on options
2998
- if ($this->subscribe2_options['private'] == 'yes' ) {
2999
- $status = "'publish', 'private'";
3000
- } else {
3001
- $status = "'publish'";
3002
- }
3003
3004
- if ($this->subscribe2_options['page'] == 'yes' ) {
3005
- $type = "'post', 'page'";
3006
} else {
3007
- $type = "'post'";
3008
}
3009
3010
- // collect posts
3011
- $posts = $wpdb->get_results("SELECT ID, post_title, post_excerpt, post_content, post_type, post_password, post_date FROM $wpdb->posts WHERE post_date >= '$prev' AND post_date < '$now' AND post_status IN ($status) AND post_type IN ($type) ORDER BY post_date");
3012
-
3013
// do we have any posts?
3014
if (empty($posts)) { return; }
3015
@@ -3091,17 +3104,25 @@ class s2class {
3091
$scheds = (array)wp_get_schedules();
3092
$email_freq = $this->subscribe2_options['email_freq'];
3093
$display = $scheds[$email_freq]['display'];
3094
- $subject = '[' . stripslashes(get_option('blogname')) . '] ' . $display . ' ' . __('Digest Email', 'subscribe2');
3095
- $public = $this->get_public();
3096
- $all_post_cats_string = implode(',', $all_post_cats);
3097
- $registered = $this->get_registered("cats=$all_post_cats_string");
3098
- $recipients = array_merge((array)$public, (array)$registered);
3099
$mailtext = apply_filters('s2_email_template', $this->subscribe2_options['mailtext']);
3100
$mailtext = stripslashes($this->substitute($mailtext));
3101
$mailtext = str_replace("TABLE", $table, $mailtext);
3102
$mailtext = str_replace("POSTTIME", $message_posttime, $mailtext);
3103
$mailtext = str_replace("POST", $message_post, $mailtext);
3104
- $this->mail($recipients, $subject, $mailtext);
3105
} // end subscribe2_cron
3106
3107
/* ===== Our constructor ===== */
@@ -3138,7 +3159,7 @@ class s2class {
3138
$this->public = $table_prefix . "subscribe2";
3139
if (!mysql_query("DESCRIBE " . $this->public)) { $this->install(); }
3140
//do we need to upgrade anything?
3141
- if ($this->subscribe2_options['version'] !== S2VERSION) {
3142
add_action('shutdown', array(&$this, 'upgrade'));
3143
}
3144
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.18
7
Author: Matthew Robinson
8
Author URI: http://subscribe2.wordpress.com
9
*/
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.18');
35
define('S2PATH', trailingslashit(dirname(__FILE__)));
36
37
// Pre-2.6 compatibility
60
function load_strings() {
61
// adjust the output of Subscribe2 here
62
63
+ $this->please_log_in = "<p>" . __('To manage your subscription options please', 'subscribe2') . " <a href=\"" . get_option('siteurl') . "/wp-login.php\">" . __('login', 'subscribe2') . "</a>.</p>";
64
65
+ $this->use_profile_admin = "<p>" . __('You may manage your subscription options from your', 'subscribe2') . " <a href=\"" . get_option('siteurl') . "/wp-admin/users.php?page=" . plugin_basename(__FILE__) . "\">" . __('profile', 'subscribe2') . "</a>.</p>";
66
67
+ $this->use_profile_users = "<p>" . __('You may manage your subscription options from your', 'subscribe2') . " <a href=\"" . get_option('siteurl') . "/wp-admin/profile.php?page=" . plugin_basename(__FILE__) . "\">" . __('profile', 'subscribe2') . "</a>.</p>";
68
69
$this->confirmation_sent = "<p>" . __('A confirmation message is on its way!', 'subscribe2') . "</p>";
70
278
$string = str_replace("MYNAME", stripslashes($this->myname), $string);
279
$string = str_replace("EMAIL", $this->myemail, $string);
280
$string = str_replace("AUTHORNAME", $this->authorname, $string);
281
+ $string = str_replace("CATS", $this->post_cat_names, $string);
282
+ $string = str_replace("TAGS", $this->post_tag_names, $string);
283
284
return $string;
285
} // end substitute()
363
reset($recipients);
364
365
// actually send mail
366
+ if ( (isset($batch)) && (!empty($batch)) ) {
367
foreach ($batch as $bcc) {
368
$newheaders = $headers . "$bcc\r\n";
369
$status = @wp_mail($this->myemail, $subject, $mailtext, $newheaders);
379
Construct standard set of email headers
380
*/
381
function headers($type='text') {
382
+ if ( (empty($this->myname)) || (empty($this->myemail)) ) {
383
+ $admin = $this->get_userdata($this->subscribe2_options['sender']);
384
+ $this->myname = html_entity_decode($admin->display_name);
385
+ $this->myemail = $admin->user_email;
386
+ }
387
388
$headers = "From: \"" . $this->myname . "\" <" . $this->myemail . ">\n";
389
$headers .= "Reply-To: \"" . $this->myname . "\" <" . $this->myemail . ">\n";
493
}
494
$this->myemail = $user->user_email;
495
$this->myname = html_entity_decode($user->display_name);
496
+
497
+ $this->post_cat_names = implode(', ', wp_get_post_categories($post->ID, array('fields' => 'names')));
498
+ $this->post_tag_names = implode(', ', wp_get_post_tags($post->ID, array('fields' => 'names')));
499
+
500
// Get email subject
501
$subject = stripslashes(strip_tags($this->substitute($this->subscribe2_options['notification_subject'])));
502
// Get the message template
503
$mailtext = apply_filters('s2_email_template', $this->subscribe2_options['mailtext']);
504
$mailtext = stripslashes($this->substitute($mailtext));
505
506
$plaintext = $post->post_content;
507
if (function_exists('strip_shortcodes')) {
508
$plaintext = strip_shortcodes($plaintext);
539
$html_body = str_replace("POST", $content, $html_body);
540
541
if ($preview != '') {
542
+ $this->myemail = $preview;
543
+ $this->myname = "Preview";
544
$this->mail(array($preview), $subject, $excerpt_body);
545
$this->mail(array($preview), $subject, $full_body);
546
$this->mail(array($preview), $subject, $html_body, 'html');
547
} else {
548
// first we send plaintext summary emails
549
+ $registered = $this->get_registered("cats=$post_cats_string&format=excerpt");
550
if (empty($registered)) {
551
$recipients = (array)$public;
552
+ } elseif (empty($public)) {
553
$recipients = (array)$registered;
554
} else {
555
$recipients = array_merge((array)$public, (array)$registered);
557
$this->mail($recipients, $subject, $excerpt_body);
558
559
// next we send plaintext full content emails
560
+ $this->mail($this->get_registered("cats=$post_cats_string&format=post"), $subject, $full_body);
561
562
// finally we send html full content emails
563
$this->mail($this->get_registered("cats=$post_cats_string&format=html"), $subject, $html_body, 'html');
610
$body = $this->substitute(stripslashes($this->subscribe2_options['confirm_email']));
611
if ('add' == $what) {
612
$body = str_replace("ACTION", $this->subscribe, $body);
613
+ $subject = str_replace("ACTION", $this->subscribe, $this->subscribe2_options['confirm_subject']);
614
} elseif ('del' == $what) {
615
$body = str_replace("ACTION", $this->unsubscribe, $body);
616
+ $subject = str_replace("ACTION", $this->unsubscribe, $this->subscribe2_options['confirm_subject']);
617
}
618
+ $subject = $this->substitute(stripslashes($subject));
619
}
620
621
$body = str_replace("LINK", $link, $body);
909
global $wpdb;
910
911
$format = '';
912
$cats = '';
913
$subscribers = array();
914
915
parse_str($args, $r);
916
if (!isset($r['format']))
917
$r['format'] = 'all';
918
if (!isset($r['cats']))
919
$r['cats'] = '';
920
925
$AND .= " AND b.meta_key='s2_format' AND b.meta_value=";
926
if ('html' == $r['format']) {
927
$AND .= "'html'";
928
+ } elseif ('post' == $r['format']) {
929
+ $AND .= "'post'";
930
+ } elseif ('excerpt' == $r['format']) {
931
$AND .= "'excerpt'";
932
}
933
}
934
935
// specific category subscribers
936
if ('' != $r['cats']) {
937
+ $JOIN .= "INNER JOIN $wpdb->usermeta AS c ON a.user_id = c.user_id ";
938
$all = '';
939
foreach (explode(',', $r['cats']) as $cat) {
940
+ ('' == $and) ? $and = "c.meta_key='" . $this->get_usermeta_keyname('s2_cat') . "$cat'" : $and .= " OR c.meta_key='" . $this->get_usermeta_keyname('s2_cat') . "$cat'";
941
}
942
$AND .= " AND ($and)";
943
}
1011
foreach (explode(',', $cats) as $cat) {
1012
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $cat, "$cat");
1013
}
1014
+ update_usermeta($user_ID, 's2_format', 'excerpt');
1015
update_usermeta($user_ID, 's2_autosub', $this->subscribe2_options['autosub_def']);
1016
} else {
1017
// create post format entries for all users
1020
// ensure existing subscription options are not overwritten on upgrade
1021
if ('html' == $this->subscribe2_options['autoformat']) {
1022
update_usermeta($user_ID, 's2_format', 'html');
1023
} elseif ('fulltext' == $this->subscribe2_options['autoformat']) {
1024
+ update_usermeta($user_ID, 's2_format', 'post');
1025
} else {
1026
+ update_usermeta($user_ID, 's2_format', 'excerpt');
1027
}
1028
update_usermeta($user_ID, 's2_autosub', $this->subscribe2_options['autosub_def']);
1029
// if the are no existing subscriptions, create them if, by default if autosub is on
1033
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $cat, "$cat");
1034
}
1035
}
1036
+ } else {
1037
+ // if user is already registered update format remove 's2_excerpt' field and update 's2_format'
1038
+ if ('html' == $check_format) {
1039
+ delete_usermeta($user_ID, 's2_excerpt');
1040
+ } elseif ('text' == $check_format) {
1041
+ update_usermeta($user_ID, 's2_format', get_usermeta($user_ID, 's2_excerpt'));
1042
+ delete_usermeta($user_ID, 's2_excerpt');
1043
+ }
1044
}
1045
$subscribed = get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
1046
if (strstr($subscribed, '-1')) {
1058
/**
1059
Subscribe all registered users to category selected on Admin Manage Page
1060
*/
1061
+ function subscribe_registered_users($emails = '', $cats = array()) {
1062
if ( ('' == $emails) || ('' == $cats) ) { return false; }
1063
global $wpdb;
1064
1067
1068
$sql = "SELECT ID FROM $wpdb->users WHERE user_email IN ('$useremails')";
1069
$user_IDs = $wpdb->get_col($sql);
1070
1071
foreach ($user_IDs as $user_ID) {
1072
$old_cats = get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
1073
+ if (!empty($old_cats)) {
1074
+ $old_cats = explode(',', $old_cats);
1075
+ $newcats = array_unique(array_merge($cats, $old_cats));
1076
+ } else {
1077
+ $newcats = $cats;
1078
}
1079
+ if (!empty($newcats)) {
1080
// add subscription to these cat IDs
1081
+ foreach ($newcats as $id) {
1082
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $id, "$id");
1083
}
1084
+ update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), implode(',', $newcats));
1085
}
1086
+ unset($newcats);
1087
}
1088
} // end subscribe_registered_users()
1089
1090
/**
1091
Unsubscribe all registered users to category selected on Admin Manage Page
1092
*/
1093
+ function unsubscribe_registered_users($emails = '', $cats = array()) {
1094
if ( ('' == $emails) || ('' == $cats) ) { return false; }
1095
global $wpdb;
1096
1099
1100
$sql = "SELECT ID FROM $wpdb->users WHERE user_email IN ('$useremails')";
1101
$user_IDs = $wpdb->get_col($sql);
1102
1103
foreach ($user_IDs as $user_ID) {
1104
$old_cats = explode(',', get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed')));
1105
$remain = array_diff($old_cats, $cats);
1106
if (!empty($remain)) {
1107
// remove subscription to these cat IDs and update s2_subscribed
1116
}
1117
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), '');
1118
}
1119
+ unset($remain);
1120
}
1121
} // end unsubscribe_registered_users()
1122
1280
function get_userdata($admin_id) {
1281
global $wpdb, $userdata;
1282
1283
if (is_numeric($admin_id)) {
1284
$admin = get_userdata($admin_id);
1285
+ } elseif ($admin_id == 'admin') {
1286
+ //ensure compatibility with < 4.16
1287
+ $admin = get_userdata('1');
1288
} else {
1289
$admin = &$userdata;
1290
}
1359
} elseif ($_POST['remind']) {
1360
$this->remind($_POST['reminderemails']);
1361
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Reminder Email(s) Sent!', 'subscribe2') . "</strong></p></div>";
1362
+ } elseif ( ($_POST['sub_categories']) && ('subscribe' == $_POST['manage']) ) {
1363
$this->subscribe_registered_users($_POST['emails'], $_POST['category']);
1364
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Subscribed!', 'subscribe2') . "</strong></p></div>";
1365
+ } elseif ( ($_POST['sub_categories']) && ('unsubscribe' == $_POST['manage']) ) {
1366
$this->unsubscribe_registered_users($_POST['emails'], $_POST['category']);
1367
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Unsubscribed!', 'subscribe2') . "</strong></p></div>";
1368
+ } elseif ($_POST['sub_format']) {
1369
+ if ($_POST['format'] == 'excerpt') {
1370
+ $wpdb->get_results("UPDATE $wpdb->usermeta SET meta_value='excerpt' WHERE meta_key='s2_format'");
1371
+ } elseif ($_POST['format'] == 'full') {
1372
+ $wpdb->get_results("UPDATE $wpdb->usermeta SET meta_value='post' WHERE meta_key='s2_format'");
1373
+ } elseif ($_POST['format'] == 'html') {
1374
+ $wpdb->get_results("UPDATE $wpdb->usermeta SET meta_value='html' WHERE meta_key='s2_format'");
1375
+ }
1376
+ echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Format updated for Registered Users!', 'subscribe2') . "</strong></p></div>";
1377
}
1378
}
1379
1555
if (in_array($subscriber, $confirmed)) {
1556
echo "</td><td align=\"center\">\r\n";
1557
echo "<input class=\"unconfirm_checkall\" title=\"" . __('Unconfirm this email address', 'subscribe2') . "\" type=\"checkbox\" name=\"unconfirm[]\" value=\"" . $subscriber . "\" /></td>\r\n";
1558
+ echo "<td align=\"center\">\r\n";
1559
echo "<input class=\"delete_checkall\" title=\"" . __('Delete this email address', 'subscribe2') . "\" type=\"checkbox\" name=\"delete[]\" value=\"" . $subscriber . "\" />\r\n";
1560
+ echo "</td>\r\n";
1561
echo "<td><span style=\"color:#006600\">&#x221A;&nbsp;&nbsp;</span><a href=\"mailto:" . $subscriber . "\">" . $subscriber . "</a>\r\n";
1562
echo "(<span style=\"color:#006600\">" . $this->signup_date($subscriber) . "</span>)\r\n";
1563
} elseif (in_array($subscriber, $unconfirmed)) {
1564
echo "<input class=\"confirm_checkall\" title=\"" . __('Confirm this email address', 'subscribe2') . "\" type=\"checkbox\" name=\"confirm[]\" value=\"" . $subscriber . "\" /></td>\r\n";
1565
echo "<td align=\"center\"></td>\r\n";
1566
+ echo "<td align=\"center\">\r\n";
1567
echo "<input class=\"delete_checkall\" title=\"" . __('Delete this email address', 'subscribe2') . "\" type=\"checkbox\" name=\"delete[]\" value=\"" . $subscriber . "\" />\r\n";
1568
+ echo "</td>\r\n";
1569
echo "<td><span style=\"color:#FF0000\">&nbsp;!&nbsp;&nbsp;&nbsp;</span><a href=\"mailto:" . $subscriber . "\">" . $subscriber . "</a>\r\n";
1570
echo "(<span style=\"color:#FF0000\">" . $this->signup_date($subscriber) . "</span>)\r\n";
1571
} elseif (in_array($subscriber, $all_users)) {
1591
1592
//show bulk managment form
1593
echo "<h2>" . __('Categories', 'subscribe2') . "</h2>\r\n";
1594
+ echo "<p>" . __('Preferences for all existing Registered Users can be changed using this section.', 'subscribe2') . "<br />\r\n";
1595
echo "<strong><em style=\"color: red\">" . __('Consider User Privacy as changes cannot be undone', 'subscribe2') . "</em></strong><br />\r\n";
1596
echo "</p>";
1597
echo "<br />" . __('Action to perform', 'subscribe2') . ":\r\n";
1598
+ echo "<label><input type=\"radio\" name=\"manage\" value=\"subscribe\" checked=\"checked\" /> " . __('Subscribe', 'subscribe2') . "</label>&nbsp;&nbsp;\r\n";
1599
+ echo "<label><input type=\"radio\" name=\"manage\" value=\"unsubscribe\" /> " . __('Unsubscribe', 'subscribe2') . "</label><br /><br />\r\n";
1600
echo "<input type=\"hidden\" name=\"emails\" value=\"$emails\" />\r\n";
1601
$this->display_category_form();
1602
+ echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"sub_categories\" value=\"" . __('Bulk Update Categories', 'subscribe2') . "\" /></p>";
1603
+
1604
+ echo "<br />" . __('Send email as', 'subscribe2') . ":\r\n";
1605
+ echo "<label><input type=\"radio\" name=\"format\" value=\"excerpt\" checked=\"checked\" /> " . __('Plain Text - Excerpt', 'subscribe2') . "</label>&nbsp;&nbsp;\r\n";
1606
+ echo "<label><input type=\"radio\" name=\"format\" value=\"full\" /> " . __('Plain Text - Full', 'subscribe2') . "</label>&nbsp;&nbsp;\r\n";
1607
+ echo "<label><input type=\"radio\" name=\"format\" value=\"html\" /> " . __('HTML', 'subscribe2') . "</label>\r\n";
1608
+ echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"sub_format\" value=\"" . __('Bulk Update Format', 'subscribe2') . "\" /></p>";
1609
echo "</form></div>\r\n";
1610
1611
include(ABSPATH . 'wp-admin/admin-footer.php');
1627
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_reset</strong></p></div>";
1628
} elseif ($_POST['preview']) {
1629
global $user_email;
1630
+ if ('never' == $this->subscribe2_options['email_freq']) {
1631
+ $post = get_posts('numberposts=1');
1632
+ $this->publish($post[0], $user_email);
1633
+ } else {
1634
+ $this->subscribe2_cron($user_email);
1635
+ }
1636
} elseif ($_POST['submit']) {
1637
// BCClimit
1638
if ( (is_numeric($_POST['bcc'])) && ($_POST['bcc'] >= 0) ) {
1653
$this->subscribe2_options['pages'] = $_POST['pages'];
1654
$this->subscribe2_options['password'] = $_POST['password'];
1655
$this->subscribe2_options['private'] = $_POST['private'];
1656
+ $this->subscribe2_options['cron_order'] = $_POST['cron_order'];
1657
1658
// send per-post or digest emails
1659
$email_freq = $_POST['email_freq'];
1660
$scheduled_time = wp_next_scheduled('s2_digest_cron');
1661
+ if ( ($email_freq != $this->subscribe2_options['email_freq']) || ($_POST['hour'] != date('H', $scheduled_time)) ) {
1662
$this->subscribe2_options['email_freq'] = $email_freq;
1663
wp_clear_scheduled_hook('s2_digest_cron');
1664
$scheds = (array)wp_get_schedules();
1668
unset($this->subscribe2_options['last_s2cron']);
1669
} else {
1670
// if we are using digest schedule the event and prime last_cron as now
1671
+ $time = time() + $interval;
1672
if ($interval < 86400) {
1673
// Schedule CRON events occurring less than daily starting now and periodically thereafter
1674
$timestamp = &$time;
1675
} else {
1676
// Schedule other CRON events starting at user defined hour and periodically thereafter
1677
+ $timestamp = mktime($_POST['hour'], 0, 0, date('m', $time), date('d', $time), date('Y', $time));
1678
}
1679
wp_schedule_event($timestamp, $email_freq, 's2_digest_cron');
1680
if (!isset($this->subscribe2_options['last_s2cron'])) {
1848
if (function_exists('wp_schedule_event')) {
1849
echo __('Send Emails', 'subscribe2') . ": <br /><br />\r\n";
1850
$this->display_digest_choices();
1851
+ echo __('For digest notifications, date order for posts is', 'subscribe2') . ": \r\n";
1852
+ echo "<label><input type=\"radio\" name=\"cron_order\" value=\"desc\"";
1853
+ if ('desc' == $this->subscribe2_options['cron_order']) {
1854
+ echo " checked=\"checked\"";
1855
+ }
1856
+ echo " /> " . __('Descending', 'subscribe2') . "</label>&nbsp;&nbsp;";
1857
+ echo "<label><input type=\"radio\" name=\"cron_order\" value=\"asc\"";
1858
+ if ('asc' == $this->subscribe2_options['cron_order']) {
1859
+ echo " checked=\"checked\"";
1860
+ }
1861
+ echo " /> " . __('Ascending', 'subscribe2') . "</label><br /><br />\r\n";
1862
}
1863
1864
// email templates
2085
check_admin_referer('subscribe2-user_subscribers' . $s2nonce);
2086
2087
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Subscription preferences updated.', 'subscribe2') . "</strong></p></div>\n";
2088
+ update_usermeta($user_ID, 's2_format', $_POST['s2_format']);
2089
update_usermeta($user_ID, 's2_autosub', $_POST['new_category']);
2090
2091
$cats = $_POST['category'];
2148
echo "checked=\"checked\" ";
2149
}
2150
echo "/> " . __('HTML', 'subscribe2') ."</label>&nbsp;&nbsp;";
2151
+ echo "<label><input type=\"radio\" name=\"s2_format\" value=\"post\" ";
2152
+ if ('post' == get_usermeta($user_ID, 's2_format')) {
2153
echo "checked=\"checked\" ";
2154
}
2155
+ echo "/> " . __('Plain Text - Full', 'subscribe2') . "</label>&nbsp;&nbsp;";
2156
+ echo "<label><input type=\"radio\" name=\"s2_format\" value=\"excerpt\" ";
2157
+ if ('excerpt' == get_usermeta($user_ID, 's2_format')) {
2158
+ echo "checked=\"checked\" ";
2159
}
2160
+ echo "/> " . __('Plain Text - Excerpt', 'subscribe2') . "</label><br /><br />\r\n";
2161
+
2162
if ($this->subscribe2_options['show_autosub'] == 'yes') {
2163
echo __('Automatically subscribe me to newly created categories', 'subscribe2') . ': &nbsp;&nbsp;';
2164
echo "<label><input type=\"radio\" name=\"new_category\" value=\"yes\" ";
2268
2269
if (!empty($blogs_subscribed)) {
2270
ksort($blogs_subscribed);
2271
+ echo "<h2>" . __('Subscribed Blogs', 'subscribe2') . "</h2>\r\n";
2272
echo "<ul class=\"s2_blogs\">\r\n";
2273
foreach ($blogs_subscribed as $blog) {
2274
echo "<li><span class=\"name\"><a href=\"" . $blog['blogurl'] . "\" title=\"" . $blog['description'] . "\">" . $blog['blogname'] . "</a></span>\r\n";
2368
if (isset($_POST['subject'])) {
2369
$subject = $_POST['subject'];
2370
} else {
2371
+ $subject = __('A message from', 'subscribe2') . " " . get_option('blogname');
2372
}
2373
echo "<p>" . __('Subject', 'subscribe2') . ": <input type=\"text\" size=\"69\" name=\"subject\" value=\"" . $subject . "\" /> <br /><br />";
2374
echo "<textarea rows=\"12\" cols=\"75\" name=\"content\">" . $body . "</textarea>";
2375
echo "<br /><br />\r\n";
2376
+ echo __('Recipients:', 'subscribe2') . " ";
2377
$this->display_subscriber_dropdown('registered', false, array('all'));
2378
echo "<input type=\"hidden\" name=\"s2_admin\" value=\"mail\" />";
2379
echo "</p>";
2412
$i = 0;
2413
$j = 0;
2414
echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"5\" class=\"editform\">\r\n";
2415
+ echo "<tr><td align=\"left\" colspan=\"2\">\r\n";
2416
+ echo "<label><input type=\"checkbox\" name=\"checkall\" value=\"cat_checkall\" /> " . __('Select / Unselect All', 'subscribe2') . "</label>\r\n";
2417
+ echo "</td></tr>\r\n";
2418
echo "<tr valign=\"top\"><td width=\"50%\" align=\"left\">\r\n";
2419
foreach ($all_cats as $cat) {
2420
if ( ($i >= $half) && (0 == $j) ){
2428
}
2429
echo " /> " . $cat->name . "</label><br />\r\n";
2430
} else {
2431
echo "<label><input class=\"cat_checkall\" type=\"checkbox\" name=\"category[]\" value=\"" . $cat->term_id . "\"";
2432
if (in_array($cat->term_id, $selected)) {
2433
echo " checked=\"checked\" ";
2437
$i++;
2438
}
2439
echo "</td></tr>\r\n";
2440
echo "</table>\r\n";
2441
} // end display_category_form()
2442
2568
echo "<select name=\"hour\">\r\n";
2569
while ($hour = current($hours)) {
2570
echo "<option value=\"" . key($hours) . "\"";
2571
+ if ( (key($hours) == date('H', $scheduled_time)) && (!empty($schedule_time)) ){
2572
echo " selected=\"selected\"";
2573
}
2574
echo ">" . $hour . "</option>\r\n";
2579
if ($scheduled_time) {
2580
$datetime = get_option('date_format') . ' @ ' . get_option('time_format');
2581
echo "<p>" . __('Current UTC time is', 'subscribe2') . ": \r\n";
2582
+ echo "<strong>" . date_i18n($datetime, false, 'gmt') . "</strong></p>\r\n";
2583
echo "<p>" . __('Current blog time is', 'subscribe2') . ": \r\n";
2584
+ echo "<strong>" . date_i18n($datetime) . "</strong></p>\r\n";
2585
echo "<p>" . __('Next email notification will be sent when your blog time is after', 'subscribe2') . ": \r\n";
2586
+ echo "<strong>" . date_i18n($datetime, wp_next_scheduled('s2_digest_cron')) . "</strong></p>\r\n";
2587
} else {
2588
echo "<br />";
2589
}
2655
*/
2656
function s2_meta_init() {
2657
if (function_exists('add_meta_box')) {
2658
+ add_meta_box('subscribe2', __('Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'post', 'advanced');
2659
+ add_meta_box('subscribe2', __('Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'page', 'advanced');
2660
} else {
2661
add_action('dbx_post_advanced', array(&$this, 's2_meta_box_old'));
2662
add_action('dbx_page_advanced', array(&$this, 's2_meta_box_old'));
2989
/**
2990
Send a daily digest of today's new posts
2991
*/
2992
+ function subscribe2_cron($preview = '') {
2993
global $wpdb;
2994
2995
+ if ('' == $preview) {
2996
+ // update last_s2cron execution time before completing or bailing
2997
+ $now = current_time('mysql');
2998
+ $prev = $this->subscribe2_options['last_s2cron'];
2999
+ $this->subscribe2_options['last_s2cron'] = $now;
3000
+ update_option('subscribe2_options', $this->subscribe2_options);
3001
3002
+ //set up SQL query based on options
3003
+ if ($this->subscribe2_options['private'] == 'yes' ) {
3004
+ $status = "'publish', 'private'";
3005
+ } else {
3006
+ $status = "'publish'";
3007
+ }
3008
+
3009
+ if ($this->subscribe2_options['page'] == 'yes' ) {
3010
+ $type = "'post', 'page'";
3011
+ } else {
3012
+ $type = "'post'";
3013
+ }
3014
3015
+ // collect posts
3016
+ if ($this->subscribe2_options['cron_order'] == 'desc') {
3017
+ $posts = $wpdb->get_results("SELECT ID, post_title, post_excerpt, post_content, post_type, post_password, post_date FROM $wpdb->posts WHERE post_date >= '$prev' AND post_date < '$now' AND post_status IN ($status) AND post_type IN ($type) ORDER BY post_date DESC");
3018
+ } else {
3019
+ $posts = $wpdb->get_results("SELECT ID, post_title, post_excerpt, post_content, post_type, post_password, post_date FROM $wpdb->posts WHERE post_date >= '$prev' AND post_date < '$now' AND post_status IN ($status) AND post_type IN ($type) ORDER BY post_date ASC");
3020
+ }
3021
} else {
3022
+ // we are sending a preview
3023
+ $posts = get_posts('numberposts=1');
3024
}
3025
3026
// do we have any posts?
3027
if (empty($posts)) { return; }
3028
3104
$scheds = (array)wp_get_schedules();
3105
$email_freq = $this->subscribe2_options['email_freq'];
3106
$display = $scheds[$email_freq]['display'];
3107
+ $subject = "[" . stripslashes(get_option('blogname')) . "] " . $display . " " . __('Digest Email', 'subscribe2');
3108
$mailtext = apply_filters('s2_email_template', $this->subscribe2_options['mailtext']);
3109
$mailtext = stripslashes($this->substitute($mailtext));
3110
$mailtext = str_replace("TABLE", $table, $mailtext);
3111
$mailtext = str_replace("POSTTIME", $message_posttime, $mailtext);
3112
$mailtext = str_replace("POST", $message_post, $mailtext);
3113
+
3114
+ // prepare recipients
3115
+ if ($preview != '') {
3116
+ $this->myemail = $preview;
3117
+ $this->myname = "Preview";
3118
+ $this->mail(array($preview), $subject, $mailtext);
3119
+ } else {
3120
+ $public = $this->get_public();
3121
+ $all_post_cats_string = implode(',', $all_post_cats);
3122
+ $registered = $this->get_registered("cats=$all_post_cats_string");
3123
+ $recipients = array_merge((array)$public, (array)$registered);
3124
+ $this->mail($recipients, $subject, $mailtext);
3125
+ }
3126
} // end subscribe2_cron
3127
3128
/* ===== Our constructor ===== */
3159
$this->public = $table_prefix . "subscribe2";
3160
if (!mysql_query("DESCRIBE " . $this->public)) { $this->install(); }
3161
//do we need to upgrade anything?
3162
+ if ( (is_array($this->subscribe2_options)) && ($this->subscribe2_options['version'] !== S2VERSION) ) {
3163
add_action('shutdown', array(&$this, 'upgrade'));
3164
}
3165
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: 2009-07-02 19:52+0100\n"
12
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@ msgstr ""
17
"Content-Transfer-Encoding: 8bit\n"
18
19
#: subscribe2.php:63
20
- msgid "To manage your subscription options please "
21
msgstr ""
22
23
#: subscribe2.php:63
@@ -25,7 +25,7 @@ msgid "login"
25
msgstr ""
26
27
#: subscribe2.php:65 subscribe2.php:67
28
- msgid "You may manage your subscription options from your "
29
msgstr ""
30
31
#: subscribe2.php:65 subscribe2.php:67
@@ -76,13 +76,13 @@ msgstr ""
76
msgid "Enter email address..."
77
msgstr ""
78
79
- #: subscribe2.php:85 subscribe2.php:1508 subscribe2.php:1601
80
- #: subscribe2.php:2298
81
msgid "Subscribe"
82
msgstr ""
83
84
- #: subscribe2.php:85 subscribe2.php:1509 subscribe2.php:1602
85
- #: subscribe2.php:2277
86
msgid "Unsubscribe"
87
msgstr ""
88
@@ -122,11 +122,11 @@ msgstr ""
122
msgid "Subscribe2 Options"
123
msgstr ""
124
125
- #: subscribe2.php:111 subscribe2.php:2825 subscribe2.php:2929
126
msgid "Subscribe2"
127
msgstr ""
128
129
- #: subscribe2.php:116 subscribe2.php:1774
130
msgid "Subscriptions"
131
msgstr ""
132
@@ -134,625 +134,633 @@ msgstr ""
134
msgid "Mail Subscribers"
135
msgstr ""
136
137
- #: subscribe2.php:792
138
msgid "New subscription"
139
msgstr ""
140
141
- #: subscribe2.php:793
142
msgid "subscribed to email notifications!"
143
msgstr ""
144
145
- #: subscribe2.php:808
146
msgid "New Unsubscription"
147
msgstr ""
148
149
- #: subscribe2.php:809
150
msgid "unsubscribed from email notifications!"
151
msgstr ""
152
153
- #: subscribe2.php:1333
154
msgid "Address(es) subscribed!"
155
msgstr ""
156
157
- #: subscribe2.php:1336
158
msgid "Address(es) unsubscribed!"
159
msgstr ""
160
161
- #: subscribe2.php:1346
162
msgid "Address(es) deleted!"
163
msgstr ""
164
165
- #: subscribe2.php:1352 subscribe2.php:1358
166
msgid "Status changed!"
167
msgstr ""
168
169
- #: subscribe2.php:1372
170
msgid "Reminder Email(s) Sent!"
171
msgstr ""
172
173
- #: subscribe2.php:1375
174
msgid "Registered Users Subscribed!"
175
msgstr ""
176
177
- #: subscribe2.php:1378
178
msgid "Registered Users Unsubscribed!"
179
msgstr ""
180
181
- #: subscribe2.php:1473
182
msgid "Previous Page"
183
msgstr ""
184
185
- #: subscribe2.php:1493
186
msgid "Next Page"
187
msgstr ""
188
189
- #: subscribe2.php:1499
190
msgid "Manage Subscribers"
191
msgstr ""
192
193
- #: subscribe2.php:1504
194
msgid "Add/Remove Subscribers"
195
msgstr ""
196
197
- #: subscribe2.php:1505
198
msgid "Enter addresses, one per line or comma-separated"
199
msgstr ""
200
201
- #: subscribe2.php:1512
202
msgid "Current Subscribers"
203
msgstr ""
204
205
- #: subscribe2.php:1514
206
msgid "Filter"
207
msgstr ""
208
209
- #: subscribe2.php:1521
210
msgid "Search Subscribers"
211
msgstr ""
212
213
- #: subscribe2.php:1524
214
msgid "Send Reminder Email"
215
msgstr ""
216
217
- #: subscribe2.php:1529
218
msgid "Save Emails to CSV File"
219
msgstr ""
220
221
- #: subscribe2.php:1535 subscribe2.php:1589
222
msgid "Process"
223
msgstr ""
224
225
- #: subscribe2.php:1544 subscribe2.php:1566
226
msgid "Confirm this email address"
227
msgstr ""
228
229
- #: subscribe2.php:1546 subscribe2.php:1559
230
msgid "Unconfirm this email address"
231
msgstr ""
232
233
- #: subscribe2.php:1548 subscribe2.php:1561 subscribe2.php:1569
234
msgid "Delete this email address"
235
msgstr ""
236
237
- #: subscribe2.php:1552 subscribe2.php:2434
238
msgid "Select / Unselect All"
239
msgstr ""
240
241
- #: subscribe2.php:1576
242
msgid "edit"
243
msgstr ""
244
245
- #: subscribe2.php:1583
246
msgid "No matching subscribers found"
247
msgstr ""
248
249
- #: subscribe2.php:1585
250
msgid "NONE"
251
msgstr ""
252
253
- #: subscribe2.php:1595
254
msgid "Categories"
255
msgstr ""
256
257
- #: subscribe2.php:1597
258
msgid ""
259
- "Existing Registered Users can be automatically (un)subscribed to categories "
260
- "using this section."
261
msgstr ""
262
263
- #: subscribe2.php:1598
264
msgid "Consider User Privacy as changes cannot be undone"
265
msgstr ""
266
267
- #: subscribe2.php:1600
268
msgid "Action to perform"
269
msgstr ""
270
271
- #: subscribe2.php:1605 subscribe2.php:2036
272
- msgid "Submit"
273
msgstr ""
274
275
- #: subscribe2.php:1749
276
msgid "Subscribe2 Settings"
277
msgstr ""
278
279
- #: subscribe2.php:1760 subscribe2.php:2123
280
msgid "Notification Settings"
281
msgstr ""
282
283
- #: subscribe2.php:1761
284
msgid "Restrict the number of recipients per email to (0 for unlimited)"
285
msgstr ""
286
287
- #: subscribe2.php:1763 subscribe2.php:1905 subscribe2.php:1914
288
msgid "Edit"
289
msgstr ""
290
291
- #: subscribe2.php:1766 subscribe2.php:1908 subscribe2.php:1917
292
msgid "Update"
293
msgstr ""
294
295
- #: subscribe2.php:1767 subscribe2.php:1909 subscribe2.php:1918
296
msgid "Revert"
297
msgstr ""
298
299
- #: subscribe2.php:1769
300
msgid "Send Admins notifications for new"
301
msgstr ""
302
303
- #: subscribe2.php:1779
304
msgid "Unsubscriptions"
305
msgstr ""
306
307
- #: subscribe2.php:1784
308
msgid "Both"
309
msgstr ""
310
311
- #: subscribe2.php:1789
312
msgid "Neither"
313
msgstr ""
314
315
- #: subscribe2.php:1791
316
msgid "Include theme CSS stylesheet in HTML notifications"
317
msgstr ""
318
319
- #: subscribe2.php:1796 subscribe2.php:1808 subscribe2.php:1819
320
- #: subscribe2.php:1830 subscribe2.php:1966 subscribe2.php:1977
321
- #: subscribe2.php:2004 subscribe2.php:2020 subscribe2.php:2163
322
- #: subscribe2.php:2199
323
msgid "Yes"
324
msgstr ""
325
326
- #: subscribe2.php:1801 subscribe2.php:1813 subscribe2.php:1824
327
- #: subscribe2.php:1835 subscribe2.php:1960 subscribe2.php:1971
328
- #: subscribe2.php:1982 subscribe2.php:2009 subscribe2.php:2025
329
- #: subscribe2.php:2168 subscribe2.php:2203
330
msgid "No"
331
msgstr ""
332
333
- #: subscribe2.php:1803
334
msgid "Send Emails for Pages"
335
msgstr ""
336
337
- #: subscribe2.php:1814
338
msgid "Send Emails for Password Protected Posts"
339
msgstr ""
340
341
- #: subscribe2.php:1825
342
msgid "Send Emails for Private Posts"
343
msgstr ""
344
345
- #: subscribe2.php:1836
346
msgid "Send Email From"
347
msgstr ""
348
349
- #: subscribe2.php:1841
350
msgid "Send Emails"
351
msgstr ""
352
353
- #: subscribe2.php:1846
354
msgid "Email Templates"
355
msgstr ""
356
357
- #: subscribe2.php:1850
358
msgid "New Post email (must not be empty)"
359
msgstr ""
360
361
- #: subscribe2.php:1851 subscribe2.php:1876 subscribe2.php:1881
362
msgid "Subject Line"
363
msgstr ""
364
365
- #: subscribe2.php:1856
366
msgid "Send Email Preview"
367
msgstr ""
368
369
- #: subscribe2.php:1857
370
msgid "Message substitions"
371
msgstr ""
372
373
- #: subscribe2.php:1861
374
msgid "the post's title<br />(<i>for per-post emails only</i>)"
375
msgstr ""
376
377
- #: subscribe2.php:1862
378
msgid ""
379
"the excerpt or the entire post<br />(<i>based on the subscriber's "
380
"preferences</i>)"
381
msgstr ""
382
383
- #: subscribe2.php:1863
384
msgid ""
385
"the excerpt of the post and the time it was posted<br />(<i>for digest "
386
"emails only</i>)"
387
msgstr ""
388
389
- #: subscribe2.php:1864
390
msgid "a list of post titles<br />(<i>for digest emails only</i>)"
391
msgstr ""
392
393
- #: subscribe2.php:1865
394
msgid "the post's permalink<br />(<i>for per-post emails only</i>)"
395
msgstr ""
396
397
- #: subscribe2.php:1866
398
msgid ""
399
"the post's permalink after conversion by TinyURL<br />(<i>for per-post "
400
"emails only</i>)"
401
msgstr ""
402
403
- #: subscribe2.php:1867
404
msgid "the admin or post author's name"
405
msgstr ""
406
407
- #: subscribe2.php:1868
408
msgid "the admin or post author's email"
409
msgstr ""
410
411
- #: subscribe2.php:1869
412
msgid "the post author's name"
413
msgstr ""
414
415
- #: subscribe2.php:1870
416
msgid ""
417
"the generated link to confirm a request<br />(<i>only used in the "
418
"confirmation email template</i>)"
419
msgstr ""
420
421
- #: subscribe2.php:1871
422
msgid ""
423
"Action performed by LINK in confirmation email<br />(<i>only used in the "
424
"confirmation email template</i>)"
425
msgstr ""
426
427
- #: subscribe2.php:1872
428
msgid "the post's assigned categories"
429
msgstr ""
430
431
- #: subscribe2.php:1873
432
msgid "the post's assigned Tags"
433
msgstr ""
434
435
- #: subscribe2.php:1875
436
msgid "Subscribe / Unsubscribe confirmation email"
437
msgstr ""
438
439
- #: subscribe2.php:1880
440
msgid "Reminder email to Unconfirmed Subscribers"
441
msgstr ""
442
443
- #: subscribe2.php:1887
444
msgid "Excluded Categories"
445
msgstr ""
446
447
- #: subscribe2.php:1889
448
msgid ""
449
"Posts assigned to any Excluded Category do not generate notifications and "
450
"are not included in digest notifications"
451
msgstr ""
452
453
- #: subscribe2.php:1896
454
msgid "Allow registered users to subscribe to excluded categories?"
455
msgstr ""
456
457
- #: subscribe2.php:1899
458
msgid "Appearance"
459
msgstr ""
460
461
- #: subscribe2.php:1903
462
msgid "Set default Subscribe2 page as ID"
463
msgstr ""
464
465
- #: subscribe2.php:1912
466
msgid "Set the number of Subscribers displayed per page"
467
msgstr ""
468
469
- #: subscribe2.php:1925
470
msgid "Show a link to your subscription page in \"meta\"?"
471
msgstr ""
472
473
- #: subscribe2.php:1932
474
msgid "Show the Subscribe2 button on the Write toolbar?"
475
msgstr ""
476
477
- #: subscribe2.php:1939
478
msgid "Enable Subscribe2 Widget?"
479
msgstr ""
480
481
- #: subscribe2.php:1943
482
msgid "Auto Subscribe"
483
msgstr ""
484
485
- #: subscribe2.php:1945
486
msgid "Subscribe new users registering with your blog"
487
msgstr ""
488
489
- #: subscribe2.php:1950
490
msgid "Automatically"
491
msgstr ""
492
493
- #: subscribe2.php:1955
494
msgid "Display option on Registration Form"
495
msgstr ""
496
497
- #: subscribe2.php:1961
498
msgid "Auto-subscribe includes any excluded categories"
499
msgstr ""
500
501
- #: subscribe2.php:1972
502
msgid "Registration Form option is checked by default"
503
msgstr ""
504
505
- #: subscribe2.php:1983
506
msgid "Auto-subscribe users to receive email as"
507
msgstr ""
508
509
- #: subscribe2.php:1988 subscribe2.php:2140
510
- msgid "HTML"
511
- msgstr ""
512
-
513
- #: subscribe2.php:1993
514
- msgid "Plain Text - Full"
515
- msgstr ""
516
-
517
- #: subscribe2.php:1998
518
- msgid "Plain Text - Excerpt"
519
- msgstr ""
520
-
521
- #: subscribe2.php:1999
522
msgid "Registered Users have the option to auto-subscribe to new categories"
523
msgstr ""
524
525
- #: subscribe2.php:2014
526
msgid "New categories are immediately excluded"
527
msgstr ""
528
529
- #: subscribe2.php:2015
530
msgid ""
531
"Option for Registered Users to auto-subscribe to new categories is checked "
532
"by default"
533
msgstr ""
534
535
- #: subscribe2.php:2029
536
msgid "Barred Domains"
537
msgstr ""
538
539
- #: subscribe2.php:2031
540
msgid ""
541
"Enter domains to bar from public subscriptions: <br /> (Use a new line for "
542
"each entry and omit the \"@\" symbol, for example email.com)"
543
msgstr ""
544
545
- #: subscribe2.php:2039
546
msgid "Reset Default"
547
msgstr ""
548
549
- #: subscribe2.php:2040
550
msgid ""
551
"Use this to reset all options to their defaults. This <strong><em>will not</"
552
"em></strong> modify your list of subscribers."
553
msgstr ""
554
555
- #: subscribe2.php:2042
556
msgid "RESET"
557
msgstr ""
558
559
- #: subscribe2.php:2068
560
msgid "Subscription preferences updated."
561
msgstr ""
562
563
- #: subscribe2.php:2126
564
msgid "Editing Subscribe2 preferences for user"
565
msgstr ""
566
567
- #: subscribe2.php:2135
568
- msgid "Receive email as"
569
- msgstr ""
570
-
571
#: subscribe2.php:2145
572
- msgid "Plain Text"
573
- msgstr ""
574
-
575
- #: subscribe2.php:2147
576
- msgid "Email contains"
577
- msgstr ""
578
-
579
- #: subscribe2.php:2148
580
- msgid "Excerpt Only"
581
- msgstr ""
582
-
583
- #: subscribe2.php:2148
584
- msgid "Full Post"
585
- msgstr ""
586
-
587
- #: subscribe2.php:2156
588
- msgid "Note: HTML format will always deliver the full post"
589
msgstr ""
590
591
- #: subscribe2.php:2158
592
msgid "Automatically subscribe me to newly created categories"
593
msgstr ""
594
595
- #: subscribe2.php:2179
596
msgid "Unsubscribe me from this blog"
597
msgstr ""
598
599
- #: subscribe2.php:2183
600
msgid "Subscribe to all categories"
601
msgstr ""
602
603
- #: subscribe2.php:2185
604
msgid "Subscribed Categories on"
605
msgstr ""
606
607
- #: subscribe2.php:2187
608
msgid "Subscribed Categories"
609
msgstr ""
610
611
- #: subscribe2.php:2193
612
msgid "Receive periodic summaries of new posts?"
613
msgstr ""
614
615
- #: subscribe2.php:2208
616
msgid "Update Preferences"
617
msgstr ""
618
619
- #: subscribe2.php:2266
620
msgid "Subscribed Blogs"
621
msgstr ""
622
623
- #: subscribe2.php:2271 subscribe2.php:2292
624
msgid "Viewing Settings Now"
625
msgstr ""
626
627
- #: subscribe2.php:2275 subscribe2.php:2296
628
msgid "View Settings"
629
msgstr ""
630
631
- #: subscribe2.php:2287
632
msgid "Subscribe to new blogs"
633
msgstr ""
634
635
- #: subscribe2.php:2358
636
msgid "Send an email to subscribers"
637
msgstr ""
638
639
- #: subscribe2.php:2366
640
- msgid "A message from "
641
msgstr ""
642
643
- #: subscribe2.php:2368
644
msgid "Subject"
645
msgstr ""
646
647
- #: subscribe2.php:2371
648
- msgid "Recipients: "
649
msgstr ""
650
651
- #: subscribe2.php:2375
652
msgid "Send"
653
msgstr ""
654
655
- #: subscribe2.php:2447
656
msgid "All Users and Subscribers"
657
msgstr ""
658
659
- #: subscribe2.php:2448
660
msgid "Public Subscribers"
661
msgstr ""
662
663
- #: subscribe2.php:2449
664
msgid "Confirmed"
665
msgstr ""
666
667
- #: subscribe2.php:2450
668
msgid "Unconfirmed"
669
msgstr ""
670
671
- #: subscribe2.php:2451
672
msgid "All Registered Users"
673
msgstr ""
674
675
- #: subscribe2.php:2452
676
msgid "Registered Subscribers"
677
msgstr ""
678
679
- #: subscribe2.php:2547
680
msgid "For each Post"
681
msgstr ""
682
683
- #: subscribe2.php:2562
684
msgid "Send Digest Notification at"
685
msgstr ""
686
687
- #: subscribe2.php:2574
688
msgid ""
689
"This option will work for digest notification sent daily or less frequently"
690
msgstr ""
691
692
- #: subscribe2.php:2577
693
msgid "Current UTC time is"
694
msgstr ""
695
696
- #: subscribe2.php:2579
697
msgid "Current blog time is"
698
msgstr ""
699
700
- #: subscribe2.php:2581
701
msgid "Next email notification will be sent when your blog time is after"
702
msgstr ""
703
704
- #: subscribe2.php:2612
705
msgid "Settings"
706
msgstr ""
707
708
- #: subscribe2.php:2624
709
msgid "Check here to Subscribe to email notifications for new posts"
710
msgstr ""
711
712
- #: subscribe2.php:2633
713
msgid ""
714
"By registering with this blog you are also agreeing to receive email "
715
"notifications for new posts but you can unsubscribe at anytime"
716
msgstr ""
717
718
- #: subscribe2.php:2654 subscribe2.php:2655 subscribe2.php:2683
719
msgid "Subscribe2 Notification Override"
720
msgstr ""
721
722
- #: subscribe2.php:2669
723
msgid ""
724
"Check here to disable sending of an email notification for this post/page"
725
msgstr ""
726
727
- #: subscribe2.php:2811
728
msgid "Subscription Confirmation"
729
msgstr ""
730
731
- #: subscribe2.php:2851
732
msgid "Title:"
733
msgstr ""
734
735
- #: subscribe2.php:2853
736
msgid "Div class name:"
737
msgstr ""
738
739
- #: subscribe2.php:2903
740
msgid "[Un]Subscribe to Posts"
741
msgstr ""
742
743
- #: subscribe2.php:2981
744
msgid "Weekly"
745
msgstr ""
746
747
- #: subscribe2.php:3049
748
msgid "Posted on"
749
msgstr ""
750
751
- #: subscribe2.php:3094
752
msgid "Digest Email"
753
msgstr ""
754
755
- #: include/options.php:94
756
msgid ""
757
"BLOGNAME has posted a new item, 'TITLE'\n"
758
"\n"
@@ -768,7 +776,7 @@ msgid ""
768
"EMAIL"
769
msgstr ""
770
771
- #: include/options.php:102
772
msgid ""
773
"BLOGNAME has received a request to ACTION for this email address. To "
774
"complete your request please click on the link below:\n"
@@ -781,11 +789,11 @@ msgid ""
781
"MYNAME."
782
msgstr ""
783
784
- #: include/options.php:106
785
msgid "Please confirm your request"
786
msgstr ""
787
788
- #: include/options.php:110
789
msgid ""
790
"This email address was subscribed for notifications at BLOGNAME (BLOGLINK) "
791
"but the subscription remains incomplete.\n"
@@ -801,6 +809,6 @@ msgid ""
801
"MYNAME"
802
msgstr ""
803
804
- #: include/options.php:114
805
msgid "Subscription Reminder"
806
msgstr ""
8
msgstr ""
9
"Project-Id-Version: PACKAGE VERSION\n"
10
"Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2009-07-24 20:16+0100\n"
12
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
"Language-Team: LANGUAGE <LL@li.org>\n"
17
"Content-Transfer-Encoding: 8bit\n"
18
19
#: subscribe2.php:63
20
+ msgid "To manage your subscription options please"
21
msgstr ""
22
23
#: subscribe2.php:63
25
msgstr ""
26
27
#: subscribe2.php:65 subscribe2.php:67
28
+ msgid "You may manage your subscription options from your"
29
msgstr ""
30
31
#: subscribe2.php:65 subscribe2.php:67
76
msgid "Enter email address..."
77
msgstr ""
78
79
+ #: subscribe2.php:85 subscribe2.php:1506 subscribe2.php:1598
80
+ #: subscribe2.php:2303
81
msgid "Subscribe"
82
msgstr ""
83
84
+ #: subscribe2.php:85 subscribe2.php:1507 subscribe2.php:1599
85
+ #: subscribe2.php:2282
86
msgid "Unsubscribe"
87
msgstr ""
88
122
msgid "Subscribe2 Options"
123
msgstr ""
124
125
+ #: subscribe2.php:111 subscribe2.php:2829 subscribe2.php:2933
126
msgid "Subscribe2"
127
msgstr ""
128
129
+ #: subscribe2.php:116 subscribe2.php:1782
130
msgid "Subscriptions"
131
msgstr ""
132
134
msgid "Mail Subscribers"
135
msgstr ""
136
137
+ #: subscribe2.php:798
138
msgid "New subscription"
139
msgstr ""
140
141
+ #: subscribe2.php:799
142
msgid "subscribed to email notifications!"
143
msgstr ""
144
145
+ #: subscribe2.php:814
146
msgid "New Unsubscription"
147
msgstr ""
148
149
+ #: subscribe2.php:815
150
msgid "unsubscribed from email notifications!"
151
msgstr ""
152
153
+ #: subscribe2.php:1322
154
msgid "Address(es) subscribed!"
155
msgstr ""
156
157
+ #: subscribe2.php:1325
158
msgid "Address(es) unsubscribed!"
159
msgstr ""
160
161
+ #: subscribe2.php:1335
162
msgid "Address(es) deleted!"
163
msgstr ""
164
165
+ #: subscribe2.php:1341 subscribe2.php:1347
166
msgid "Status changed!"
167
msgstr ""
168
169
+ #: subscribe2.php:1361
170
msgid "Reminder Email(s) Sent!"
171
msgstr ""
172
173
+ #: subscribe2.php:1364
174
msgid "Registered Users Subscribed!"
175
msgstr ""
176
177
+ #: subscribe2.php:1367
178
msgid "Registered Users Unsubscribed!"
179
msgstr ""
180
181
+ #: subscribe2.php:1376
182
+ msgid "Format updated for Registered Users!"
183
+ msgstr ""
184
+
185
+ #: subscribe2.php:1471
186
msgid "Previous Page"
187
msgstr ""
188
189
+ #: subscribe2.php:1491
190
msgid "Next Page"
191
msgstr ""
192
193
+ #: subscribe2.php:1497
194
msgid "Manage Subscribers"
195
msgstr ""
196
197
+ #: subscribe2.php:1502
198
msgid "Add/Remove Subscribers"
199
msgstr ""
200
201
+ #: subscribe2.php:1503
202
msgid "Enter addresses, one per line or comma-separated"
203
msgstr ""
204
205
+ #: subscribe2.php:1510
206
msgid "Current Subscribers"
207
msgstr ""
208
209
+ #: subscribe2.php:1512
210
msgid "Filter"
211
msgstr ""
212
213
+ #: subscribe2.php:1519
214
msgid "Search Subscribers"
215
msgstr ""
216
217
+ #: subscribe2.php:1522
218
msgid "Send Reminder Email"
219
msgstr ""
220
221
+ #: subscribe2.php:1527
222
msgid "Save Emails to CSV File"
223
msgstr ""
224
225
+ #: subscribe2.php:1533 subscribe2.php:1587
226
msgid "Process"
227
msgstr ""
228
229
+ #: subscribe2.php:1542 subscribe2.php:1564
230
msgid "Confirm this email address"
231
msgstr ""
232
233
+ #: subscribe2.php:1544 subscribe2.php:1557
234
msgid "Unconfirm this email address"
235
msgstr ""
236
237
+ #: subscribe2.php:1546 subscribe2.php:1559 subscribe2.php:1567
238
msgid "Delete this email address"
239
msgstr ""
240
241
+ #: subscribe2.php:1550 subscribe2.php:2416
242
msgid "Select / Unselect All"
243
msgstr ""
244
245
+ #: subscribe2.php:1574
246
msgid "edit"
247
msgstr ""
248
249
+ #: subscribe2.php:1581
250
msgid "No matching subscribers found"
251
msgstr ""
252
253
+ #: subscribe2.php:1583
254
msgid "NONE"
255
msgstr ""
256
257
+ #: subscribe2.php:1593
258
msgid "Categories"
259
msgstr ""
260
261
+ #: subscribe2.php:1594
262
msgid ""
263
+ "Preferences for all existing Registered Users can be changed using this "
264
+ "section."
265
msgstr ""
266
267
+ #: subscribe2.php:1595
268
msgid "Consider User Privacy as changes cannot be undone"
269
msgstr ""
270
271
+ #: subscribe2.php:1597
272
msgid "Action to perform"
273
msgstr ""
274
275
+ #: subscribe2.php:1602
276
+ msgid "Bulk Update Categories"
277
+ msgstr ""
278
+
279
+ #: subscribe2.php:1604
280
+ msgid "Send email as"
281
+ msgstr ""
282
+
283
+ #: subscribe2.php:1605 subscribe2.php:2017 subscribe2.php:2160
284
+ msgid "Plain Text - Excerpt"
285
+ msgstr ""
286
+
287
+ #: subscribe2.php:1606 subscribe2.php:2012 subscribe2.php:2155
288
+ msgid "Plain Text - Full"
289
+ msgstr ""
290
+
291
+ #: subscribe2.php:1607 subscribe2.php:2007 subscribe2.php:2150
292
+ msgid "HTML"
293
msgstr ""
294
295
+ #: subscribe2.php:1608
296
+ msgid "Bulk Update Format"
297
+ msgstr ""
298
+
299
+ #: subscribe2.php:1757
300
msgid "Subscribe2 Settings"
301
msgstr ""
302
303
+ #: subscribe2.php:1768 subscribe2.php:2133
304
msgid "Notification Settings"
305
msgstr ""
306
307
+ #: subscribe2.php:1769
308
msgid "Restrict the number of recipients per email to (0 for unlimited)"
309
msgstr ""
310
311
+ #: subscribe2.php:1771 subscribe2.php:1924 subscribe2.php:1933
312
msgid "Edit"
313
msgstr ""
314
315
+ #: subscribe2.php:1774 subscribe2.php:1927 subscribe2.php:1936
316
msgid "Update"
317
msgstr ""
318
319
+ #: subscribe2.php:1775 subscribe2.php:1928 subscribe2.php:1937
320
msgid "Revert"
321
msgstr ""
322
323
+ #: subscribe2.php:1777
324
msgid "Send Admins notifications for new"
325
msgstr ""
326
327
+ #: subscribe2.php:1787
328
msgid "Unsubscriptions"
329
msgstr ""
330
331
+ #: subscribe2.php:1792
332
msgid "Both"
333
msgstr ""
334
335
+ #: subscribe2.php:1797
336
msgid "Neither"
337
msgstr ""
338
339
+ #: subscribe2.php:1799
340
msgid "Include theme CSS stylesheet in HTML notifications"
341
msgstr ""
342
343
+ #: subscribe2.php:1804 subscribe2.php:1816 subscribe2.php:1827
344
+ #: subscribe2.php:1838 subscribe2.php:1985 subscribe2.php:1996
345
+ #: subscribe2.php:2023 subscribe2.php:2039 subscribe2.php:2168
346
+ #: subscribe2.php:2204
347
msgid "Yes"
348
msgstr ""
349
350
+ #: subscribe2.php:1809 subscribe2.php:1821 subscribe2.php:1832
351
+ #: subscribe2.php:1843 subscribe2.php:1979 subscribe2.php:1990
352
+ #: subscribe2.php:2001 subscribe2.php:2028 subscribe2.php:2044
353
+ #: subscribe2.php:2173 subscribe2.php:2208
354
msgid "No"
355
msgstr ""
356
357
+ #: subscribe2.php:1811
358
msgid "Send Emails for Pages"
359
msgstr ""
360
361
+ #: subscribe2.php:1822
362
msgid "Send Emails for Password Protected Posts"
363
msgstr ""
364
365
+ #: subscribe2.php:1833
366
msgid "Send Emails for Private Posts"
367
msgstr ""
368
369
+ #: subscribe2.php:1844
370
msgid "Send Email From"
371
msgstr ""
372
373
+ #: subscribe2.php:1849
374
msgid "Send Emails"
375
msgstr ""
376
377
+ #: subscribe2.php:1851
378
+ msgid "For digest notifications, date order for posts is"
379
+ msgstr ""
380
+
381
+ #: subscribe2.php:1856
382
+ msgid "Descending"
383
+ msgstr ""
384
+
385
+ #: subscribe2.php:1861
386
+ msgid "Ascending"
387
+ msgstr ""
388
+
389
+ #: subscribe2.php:1865
390
msgid "Email Templates"
391
msgstr ""
392
393
+ #: subscribe2.php:1869
394
msgid "New Post email (must not be empty)"
395
msgstr ""
396
397
+ #: subscribe2.php:1870 subscribe2.php:1895 subscribe2.php:1900
398
msgid "Subject Line"
399
msgstr ""
400
401
+ #: subscribe2.php:1875
402
msgid "Send Email Preview"
403
msgstr ""
404
405
+ #: subscribe2.php:1876
406
msgid "Message substitions"
407
msgstr ""
408
409
+ #: subscribe2.php:1880
410
msgid "the post's title<br />(<i>for per-post emails only</i>)"
411
msgstr ""
412
413
+ #: subscribe2.php:1881
414
msgid ""
415
"the excerpt or the entire post<br />(<i>based on the subscriber's "
416
"preferences</i>)"
417
msgstr ""
418
419
+ #: subscribe2.php:1882
420
msgid ""
421
"the excerpt of the post and the time it was posted<br />(<i>for digest "
422
"emails only</i>)"
423
msgstr ""
424
425
+ #: subscribe2.php:1883
426
msgid "a list of post titles<br />(<i>for digest emails only</i>)"
427
msgstr ""
428
429
+ #: subscribe2.php:1884
430
msgid "the post's permalink<br />(<i>for per-post emails only</i>)"
431
msgstr ""
432
433
+ #: subscribe2.php:1885
434
msgid ""
435
"the post's permalink after conversion by TinyURL<br />(<i>for per-post "
436
"emails only</i>)"
437
msgstr ""
438
439
+ #: subscribe2.php:1886
440
msgid "the admin or post author's name"
441
msgstr ""
442
443
+ #: subscribe2.php:1887
444
msgid "the admin or post author's email"
445
msgstr ""
446
447
+ #: subscribe2.php:1888
448
msgid "the post author's name"
449
msgstr ""
450
451
+ #: subscribe2.php:1889
452
msgid ""
453
"the generated link to confirm a request<br />(<i>only used in the "
454
"confirmation email template</i>)"
455
msgstr ""
456
457
+ #: subscribe2.php:1890
458
msgid ""
459
"Action performed by LINK in confirmation email<br />(<i>only used in the "
460
"confirmation email template</i>)"
461
msgstr ""
462
463
+ #: subscribe2.php:1891
464
msgid "the post's assigned categories"
465
msgstr ""
466
467
+ #: subscribe2.php:1892
468
msgid "the post's assigned Tags"
469
msgstr ""
470
471
+ #: subscribe2.php:1894
472
msgid "Subscribe / Unsubscribe confirmation email"
473
msgstr ""
474
475
+ #: subscribe2.php:1899
476
msgid "Reminder email to Unconfirmed Subscribers"
477
msgstr ""
478
479
+ #: subscribe2.php:1906
480
msgid "Excluded Categories"
481
msgstr ""
482
483
+ #: subscribe2.php:1908
484
msgid ""
485
"Posts assigned to any Excluded Category do not generate notifications and "
486
"are not included in digest notifications"
487
msgstr ""
488
489
+ #: subscribe2.php:1915
490
msgid "Allow registered users to subscribe to excluded categories?"
491
msgstr ""
492
493
+ #: subscribe2.php:1918
494
msgid "Appearance"
495
msgstr ""
496
497
+ #: subscribe2.php:1922
498
msgid "Set default Subscribe2 page as ID"
499
msgstr ""
500
501
+ #: subscribe2.php:1931
502
msgid "Set the number of Subscribers displayed per page"
503
msgstr ""
504
505
+ #: subscribe2.php:1944
506
msgid "Show a link to your subscription page in \"meta\"?"
507
msgstr ""
508
509
+ #: subscribe2.php:1951
510
msgid "Show the Subscribe2 button on the Write toolbar?"
511
msgstr ""
512
513
+ #: subscribe2.php:1958
514
msgid "Enable Subscribe2 Widget?"
515
msgstr ""
516
517
+ #: subscribe2.php:1962
518
msgid "Auto Subscribe"
519
msgstr ""
520
521
+ #: subscribe2.php:1964
522
msgid "Subscribe new users registering with your blog"
523
msgstr ""
524
525
+ #: subscribe2.php:1969
526
msgid "Automatically"
527
msgstr ""
528
529
+ #: subscribe2.php:1974
530
msgid "Display option on Registration Form"
531
msgstr ""
532
533
+ #: subscribe2.php:1980
534
msgid "Auto-subscribe includes any excluded categories"
535
msgstr ""
536
537
+ #: subscribe2.php:1991
538
msgid "Registration Form option is checked by default"
539
msgstr ""
540
541
+ #: subscribe2.php:2002
542
msgid "Auto-subscribe users to receive email as"
543
msgstr ""
544
545
+ #: subscribe2.php:2018
546
msgid "Registered Users have the option to auto-subscribe to new categories"
547
msgstr ""
548
549
+ #: subscribe2.php:2033
550
msgid "New categories are immediately excluded"
551
msgstr ""
552
553
+ #: subscribe2.php:2034
554
msgid ""
555
"Option for Registered Users to auto-subscribe to new categories is checked "
556
"by default"
557
msgstr ""
558
559
+ #: subscribe2.php:2048
560
msgid "Barred Domains"
561
msgstr ""
562
563
+ #: subscribe2.php:2050
564
msgid ""
565
"Enter domains to bar from public subscriptions: <br /> (Use a new line for "
566
"each entry and omit the \"@\" symbol, for example email.com)"
567
msgstr ""
568
569
+ #: subscribe2.php:2055
570
+ msgid "Submit"
571
+ msgstr ""
572
+
573
+ #: subscribe2.php:2058
574
msgid "Reset Default"
575
msgstr ""
576
577
+ #: subscribe2.php:2059
578
msgid ""
579
"Use this to reset all options to their defaults. This <strong><em>will not</"
580
"em></strong> modify your list of subscribers."
581
msgstr ""
582
583
+ #: subscribe2.php:2061
584
msgid "RESET"
585
msgstr ""
586
587
+ #: subscribe2.php:2087
588
msgid "Subscription preferences updated."
589
msgstr ""
590
591
+ #: subscribe2.php:2136
592
msgid "Editing Subscribe2 preferences for user"
593
msgstr ""
594
595
#: subscribe2.php:2145
596
+ msgid "Receive email as"
597
msgstr ""
598
599
+ #: subscribe2.php:2163
600
msgid "Automatically subscribe me to newly created categories"
601
msgstr ""
602
603
+ #: subscribe2.php:2184
604
msgid "Unsubscribe me from this blog"
605
msgstr ""
606
607
+ #: subscribe2.php:2188
608
msgid "Subscribe to all categories"
609
msgstr ""
610
611
+ #: subscribe2.php:2190
612
msgid "Subscribed Categories on"
613
msgstr ""
614
615
+ #: subscribe2.php:2192
616
msgid "Subscribed Categories"
617
msgstr ""
618
619
+ #: subscribe2.php:2198
620
msgid "Receive periodic summaries of new posts?"
621
msgstr ""
622
623
+ #: subscribe2.php:2213
624
msgid "Update Preferences"
625
msgstr ""
626
627
+ #: subscribe2.php:2271
628
msgid "Subscribed Blogs"
629
msgstr ""
630
631
+ #: subscribe2.php:2276 subscribe2.php:2297
632
msgid "Viewing Settings Now"
633
msgstr ""
634
635
+ #: subscribe2.php:2280 subscribe2.php:2301
636
msgid "View Settings"
637
msgstr ""
638
639
+ #: subscribe2.php:2292
640
msgid "Subscribe to new blogs"
641
msgstr ""
642
643
+ #: subscribe2.php:2363
644
msgid "Send an email to subscribers"
645
msgstr ""
646
647
+ #: subscribe2.php:2371
648
+ msgid "A message from"