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"
649
  msgstr ""
650
 
651
+ #: subscribe2.php:2373
652
  msgid "Subject"
653
  msgstr ""
654
 
655
+ #: subscribe2.php:2376
656
+ msgid "Recipients:"
657
  msgstr ""
658
 
659
+ #: subscribe2.php:2380
660
  msgid "Send"
661
  msgstr ""
662
 
663
+ #: subscribe2.php:2451
664
  msgid "All Users and Subscribers"
665
  msgstr ""
666
 
667
+ #: subscribe2.php:2452
668
  msgid "Public Subscribers"
669
  msgstr ""
670
 
671
+ #: subscribe2.php:2453
672
  msgid "Confirmed"
673
  msgstr ""
674
 
675
+ #: subscribe2.php:2454
676
  msgid "Unconfirmed"
677
  msgstr ""
678
 
679
+ #: subscribe2.php:2455
680
  msgid "All Registered Users"
681
  msgstr ""
682
 
683
+ #: subscribe2.php:2456
684
  msgid "Registered Subscribers"
685
  msgstr ""
686
 
687
+ #: subscribe2.php:2551
688
  msgid "For each Post"
689
  msgstr ""
690
 
691
+ #: subscribe2.php:2566
692
  msgid "Send Digest Notification at"
693
  msgstr ""
694
 
695
+ #: subscribe2.php:2578
696
  msgid ""
697
  "This option will work for digest notification sent daily or less frequently"
698
  msgstr ""
699
 
700
+ #: subscribe2.php:2581
701
  msgid "Current UTC time is"
702
  msgstr ""
703
 
704
+ #: subscribe2.php:2583
705
  msgid "Current blog time is"
706
  msgstr ""
707
 
708
+ #: subscribe2.php:2585
709
  msgid "Next email notification will be sent when your blog time is after"
710
  msgstr ""
711
 
712
+ #: subscribe2.php:2616
713
  msgid "Settings"
714
  msgstr ""
715
 
716
+ #: subscribe2.php:2628
717
  msgid "Check here to Subscribe to email notifications for new posts"
718
  msgstr ""
719
 
720
+ #: subscribe2.php:2637
721
  msgid ""
722
  "By registering with this blog you are also agreeing to receive email "
723
  "notifications for new posts but you can unsubscribe at anytime"
724
  msgstr ""
725
 
726
+ #: subscribe2.php:2658 subscribe2.php:2659 subscribe2.php:2687
727
  msgid "Subscribe2 Notification Override"
728
  msgstr ""
729
 
730
+ #: subscribe2.php:2673
731
  msgid ""
732
  "Check here to disable sending of an email notification for this post/page"
733
  msgstr ""
734
 
735
+ #: subscribe2.php:2815
736
  msgid "Subscription Confirmation"
737
  msgstr ""
738
 
739
+ #: subscribe2.php:2855
740
  msgid "Title:"
741
  msgstr ""
742
 
743
+ #: subscribe2.php:2857
744
  msgid "Div class name:"
745
  msgstr ""
746
 
747
+ #: subscribe2.php:2907
748
  msgid "[Un]Subscribe to Posts"
749
  msgstr ""
750
 
751
+ #: subscribe2.php:2985
752
  msgid "Weekly"
753
  msgstr ""
754
 
755
+ #: subscribe2.php:3062
756
  msgid "Posted on"
757
  msgstr ""
758
 
759
+ #: subscribe2.php:3107
760
  msgid "Digest Email"
761
  msgstr ""
762
 
763
+ #: include/options.php:98
764
  msgid ""
765
  "BLOGNAME has posted a new item, 'TITLE'\n"
766
  "\n"
776
  "EMAIL"
777
  msgstr ""
778
 
779
+ #: include/options.php:106
780
  msgid ""
781
  "BLOGNAME has received a request to ACTION for this email address. To "
782
  "complete your request please click on the link below:\n"
789
  "MYNAME."
790
  msgstr ""
791
 
792
+ #: include/options.php:110
793
  msgid "Please confirm your request"
794
  msgstr ""
795
 
796
+ #: include/options.php:114
797
  msgid ""
798
  "This email address was subscribed for notifications at BLOGNAME (BLOGLINK) "
799
  "but the subscription remains incomplete.\n"
809
  "MYNAME"
810
  msgstr ""
811
 
812
+ #: include/options.php:118
813
  msgid "Subscription Reminder"
814
  msgstr ""