Subscribe2 - Version 10.1

Version Description

Download this release

Release Info

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

Code changes from version 10.0 to 10.1

ChangeLog.txt CHANGED
@@ -1,8 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  = Version 9.4 by Matthew Robinson =
2
 
3
  * Fix for non-existing variable errors on Subscribe2->Subscribers page - thanks to bapakrob and perezlr
4
- * Dont display Excluded Categories in Bulk Management is Registered users cannot override the exclusion
5
  * Fix for disappearing Jetpack Stats module - thanks to desertravenart
 
6
 
7
  = Version 9.3 by Matthew Robinson =
8
 
@@ -14,7 +35,7 @@
14
  * Fixed typos in the Help tab on the Settings page
15
  * Improved domain name comparison for sender email check - props garypardun
16
  * Tidied load_string() function and moved it to class-s2-frontend.php as all strings are not for user side only
17
- * Ensure 's2_authors' keys exist on all sites and for all Registered Users as per illmastercs bug report
18
  * Introduce 's2_mu_blog_list' filter to allow filter of blog list for WordPress Multisite installs - props careb
19
  * Enable built-in widget by default - props by MadtownLems
20
  * Use a better method for unendcoding HTML special characters for plain text emails - proposed by Dainius Kaupaitis
@@ -44,8 +65,8 @@
44
  * Fix link to jQuery CSS for servers using HTTPS connections - props Christian (aka Alariel)
45
  * Introduce link to Templates page with unsupported keywords are detected - props MadtownLems
46
  * Ensure all JavaScript passes the JSHint WordPress Coding Standards
47
- * Initialise colorpicker boxes on page load so they are coloured before first user click
48
- * Only add a new Weekly schedule if it doesnt already exist
49
  * Use trim() on post excerpt to account for blank but non-empty excerpts
50
  * Don't display screen icons in WordPress 3.8 as they are hidden by CSS - see ticket http://core.trac.wordpress.org/ticket/26119
51
  * Added 's2_confirm_email' filter to allow amendment or replacement of the subscribe and unsubscribe emails - proposed by Tim Büttner
1
+ = Version 10.1 by Matthew Robinson =
2
+
3
+ * Revert introduction of ReadyGraph features until they are production ready
4
+ * Resolve a critical SQL Injection vulnerability introduced in recent code
5
+ * Fix jQuery conflict caused by TinyMCE4 plugin - props Greg Ross
6
+
7
+ = Version 10.0 =
8
+
9
+ * Initial introduction of ReadyGraph features
10
+
11
+ = Version 9.5 by Matthew Robinson =
12
+
13
+ * Improved placement and usage of the 's2_custom_keywords' filter in the digest emails
14
+ * Fix for some undefined variable notices
15
+ * Fixes for database connectivity in the upgrade class file - thanks to rushu25
16
+ * Fix for bug when antispam measures are disabled - thanks to serinx
17
+ * Add option to Sidebar Widget to not wrap the button below the form
18
+ * Straightened quotes in the ChangeLog
19
+ * Remove all uses of PHP extract() function as per core ticket (https://core.trac.wordpress.org/ticket/22400)
20
+
21
  = Version 9.4 by Matthew Robinson =
22
 
23
  * Fix for non-existing variable errors on Subscribe2->Subscribers page - thanks to bapakrob and perezlr
24
+ * Don't display Excluded Categories in Bulk Management is Registered users cannot override the exclusion
25
  * Fix for disappearing Jetpack Stats module - thanks to desertravenart
26
+ * Fix for undefined variable notices in the digest emails
27
 
28
  = Version 9.3 by Matthew Robinson =
29
 
35
  * Fixed typos in the Help tab on the Settings page
36
  * Improved domain name comparison for sender email check - props garypardun
37
  * Tidied load_string() function and moved it to class-s2-frontend.php as all strings are not for user side only
38
+ * Ensure 's2_authors' keys exist on all sites and for all Registered Users as per illmasterc's bug report
39
  * Introduce 's2_mu_blog_list' filter to allow filter of blog list for WordPress Multisite installs - props careb
40
  * Enable built-in widget by default - props by MadtownLems
41
  * Use a better method for unendcoding HTML special characters for plain text emails - proposed by Dainius Kaupaitis
65
  * Fix link to jQuery CSS for servers using HTTPS connections - props Christian (aka Alariel)
66
  * Introduce link to Templates page with unsupported keywords are detected - props MadtownLems
67
  * Ensure all JavaScript passes the JSHint WordPress Coding Standards
68
+ * Initialise 'colorpicker' boxes on page load so they are coloured before first user click
69
+ * Only add a new Weekly schedule if it doesn't already exist
70
  * Use trim() on post excerpt to account for blank but non-empty excerpts
71
  * Don't display screen icons in WordPress 3.8 as they are hidden by CSS - see ticket http://core.trac.wordpress.org/ticket/26119
72
  * Added 's2_confirm_email' filter to allow amendment or replacement of the subscribe and unsubscribe emails - proposed by Tim Büttner
ReadMe.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_butt
4
  Tags: posts, subscription, email, subscribe, notify, notification
5
  Requires at least: 3.3
6
  Tested up to: 3.9
7
- Stable tag: 10.0
8
  License: GPL3
9
 
10
  Sends a list of subscribers an email notification when new posts are published to your blog.
@@ -30,7 +30,7 @@ The format of the email can also be customised for per-post notifications, Subsc
30
  If you want to send full content HTML emails to Public Subscribers too then upgrade to [Subscribe2 HTML](http://semperplugins.com/plugins/subscribe2-html/).
31
 
32
  = ReadyGraph App =
33
- This menu item allows users to sign up for a free ReadyGraph account, or sync an existing free ReadyGraph account. Once a ReadyGraph account is synced, this menu item is where the user manages their ReadyGraph account, views email addresses, sends emails to their community members, and views insights on user growth.
34
 
35
  == Installation ==
36
 
@@ -69,252 +69,6 @@ This token will automatically be replaced by dynamic subscription information an
69
  4. The Subscribe2->Subscribe2 admin page generated by the plugin.
70
 
71
  == Changelog ==
72
- = Version 9.5 by Matthew Robinson =
73
-
74
- * Improved placement and usage of the ‘s2_custom_keywords’ filter in the digest emails
75
- * Fix for some undefined variable notices
76
- * Fixes for database connectivity in the upgrade class file - thanks to rushu25
77
- * Fix for bug when antispam measures are disabled - thanks to serinx
78
- * Add option to Sidebar Widget to not wrap the button below the form
79
-
80
- = Version 9.4 by Matthew Robinson =
81
-
82
- * Fix for non-existing variable errors on Subscribe2->Subscribers page - thanks to bapakrob and perezlr
83
- * Don’t display Excluded Categories in Bulk Management is Registered users cannot override the exclusion
84
- * Fix for disappearing Jetpack Stats module - thanks to desertravenart
85
- * Fix for undefined variable notices in the digest emails
86
-
87
- = Version 9.3 by Matthew Robinson =
88
-
89
- * Only add 'weekly' cron schedule interval if it does not already exist
90
- * Add capability to add social media share buttons to HTML emails
91
- * Update editor plugin for TinyMCE version 4 bundled with WordPress 3.9
92
- * Rework Digest emails to collect posts based on transition status rather than time - see ticket https://plugins.trac.wordpress.org/ticket/2058
93
- * Hide comment form subscription options if using Jetpack Comments and improve compatibility
94
- * Fixed typos in the Help tab on the Settings page
95
- * Improved domain name comparison for sender email check - props garypardun
96
- * Tidied load_string() function and moved it to class-s2-frontend.php as all strings are not for user side only
97
- * Ensure 's2_authors' keys exist on all sites and for all Registered Users as per illmasterc’s bug report
98
- * Introduce 's2_mu_blog_list' filter to allow filter of blog list for WordPress Multisite installs - props careb
99
- * Enable built-in widget by default - props by MadtownLems
100
- * Use a better method for unendcoding HTML special characters for plain text emails - proposed by Dainius Kaupaitis
101
- * Fixed a bug affecting handling of Registered users with email aliases (e.g. name+alias@gmail.com) - thanks to Alexandre (bosseal)
102
- * Improved Character Set encoding of some email headers
103
- * Improved user registration hooking for Multisite installs - thanks to dsl255
104
- * Introduce a filter to allow filtering of the confirm link URL - props diddledan
105
- * Introduce a confirmation box for Registered User deletion - props geoorgge1968
106
- * Improved Bulk Management user experience by retaining submitted settings
107
-
108
- = Version 9.2 by Matthew Robinson =
109
-
110
- * Fixed an error in the Registered User deletion code - thanks to Jay Wasack
111
-
112
- = Version 9.1 by Matthew Robinson =
113
-
114
- * Shortcode parameters are now not case sensitive
115
- * Fixed AJAX mode to work with new Anti Spam code
116
- * Suppress undefined variable warnings when sending Digest Email previews
117
- * Include Signup Date and IP for Public Subscribers in CSV Export - props Taylor4484
118
- * Fix for Sticky Posts in the digest returning errant posts - thanks to belg4mit
119
- * Move FAQs to external site to allow more timely updates
120
- * Add ability to hide other Multisite blogs with CSS in the Subscribe2->Your Subscriptions page (DIV id of 's2_mu_sites') - props cblsysadmin
121
- * Add 's2_form' filter to allow dynamic alterations to the default form - props adam_jack
122
- * Conduct more thorough checking for Public and Registered emails when adding users in the admin pages - thanks to MadtownLems
123
- * Introduce the {REFERENCELINKS} keyword - props manu1033
124
- * Fix link to jQuery CSS for servers using HTTPS connections - props Christian (aka Alariel)
125
- * Introduce link to Templates page with unsupported keywords are detected - props MadtownLems
126
- * Ensure all JavaScript passes the JSHint WordPress Coding Standards
127
- * Initialise ‘colorpicker’ boxes on page load so they are coloured before first user click
128
- * Only add a new Weekly schedule if it doesn’t already exist
129
- * Use trim() on post excerpt to account for blank but non-empty excerpts
130
- * Don't display screen icons in WordPress 3.8 as they are hidden by CSS - see ticket http://core.trac.wordpress.org/ticket/26119
131
- * Added 's2_confirm_email' filter to allow amendment or replacement of the subscribe and unsubscribe emails - proposed by Tim Büttner
132
- * Fixed a typo in the names of the five 's2_send_{email_type}_subscribers' hooks - thanks to robertjj
133
- * Introduced the 's2_post_statuses' to allow for custom post status transitions, for example with the 'Edit Flow' plugin
134
- * Fix for failed deletion of Registered Subscribers in Subscribe2->Subscribers page - thanks to Russ Michaels
135
-
136
- = Version 9.0 by Matthew Robinson =
137
-
138
- * Added capability to send emails with attachments from Send Email page
139
- * Added feature that removes unconfirmed public subscribers after 28 days (time frame can be altered with a filter)
140
- * Added ability to bulk delete Registered Users/Subscribers
141
- * Use {IMAGE} tag in HTML excerpt emails and digests only, images would be stripped in plain text and included anyway in full content HTML - applies to Subscribe2 HTML only
142
- * Added help tabs on the plugins admin pages
143
- * Improved the comparison of barred domains to subscribing email addresses - thanks to SashainSydney
144
- * Added Text Domain to the plugin header to allow information on plugin page to translate - thanks to qwertysimo
145
- * Applied a fix to ensure translation of all strings - thanks to qwertysimo
146
- * Improved some strings to use sprintf() - thanks to Tom Adams (tomdxw)
147
- * Use jQuery.noConflict(); when AJAX is enabled
148
- * Removed excess span tag from the Counter Widget - thanks to dimagsv
149
- * Allow filtering of admin email address for the emails sent when users confirm a subscription or unsubscription - suggested by 3cstudio
150
- * Fixed default email notification subject text - thanks to Steve C @ 3Cstudio
151
- * Fixed ability to have translation files in WP_LANG folder
152
- * Fixed an issue with pagination of search results - thanks to sijpie
153
- * Fixed 'Add Registered User' button in Subscribe2->Subscribers, Registered Tab - thanks to qwik3r
154
- * Improved pages dropdown to an ordered and hierarchical display - thanks to xavierlh1
155
- * Improved control over digest email scheduling - proposed by Jason Lemahieu
156
- * Fixed Subscriber Dropdown counts for Compulsory categories
157
- * Added a link to Tranlation files to the plugin page and the miscellaneous tab of the Subscribe2->Settings page - props eyephone21
158
- * Added {KEYWORD} checking in the template to warn users of disallowed keywords - proposed by Jason Lemahieu
159
- * Fixed some notices in the Send Email page - thanks to Bryan Hadaway (bhadaway)
160
- * Added anti-spam measures to the sign up form - thanks to Bryan Hadaway (bhadaway)
161
- * Update query_filter() function to hook into the 'request' filter instead of the deprecated 'query_filter'
162
- * Added a default 'Select a page' option to the page dropdown to highlight the need to have a published page select
163
- * Added filters to the subscription and unsubscription confirmation messages to allow personalisation - see FAQs for example functions
164
- * Remove Simple Facebook Connect action during subscription and unsubscription confirmation to ensure user messages are displayed
165
- * Improved white space stripping in the plaintext full content email
166
- * Fixed a PHP notice on the Subscribe2->Subscribers page - thanks to emile.swain
167
- * Fixes the non-working 'check all' boxes in WordPress 3.6 and above
168
- * NOTE Version 9.0 needs WordPress 3.3 or above
169
-
170
- = Version 8.9.1 by Matthew Robinson =
171
-
172
- * Check for the existence of the mb_encode_mimeheader function before use as it's optional in PHP builds - thanks to derekmacewen
173
- * Fix for fatal error in upgrade code due to calling the wrong class
174
-
175
- = Version 8.9 by Matthew Robinson =
176
-
177
- * Fix fatal error in the uninstall.php file
178
- * Correct error using set_url_scheme() function in WordPress version prior to 3.5
179
- * Allow the Widget to post form back to referring page by omitting action for parameter - thanks to Peter Gordon
180
- * Fix for options being reset on Multisite installs - thanks to Luca
181
- * Make sure translation strings are loaded during install(), upgrade() and reset() - thanks to Milan Dinić
182
- * Fix internationalisation of subscribers list table - thanks to Milan Dinić
183
- * Use mb_encode_mimeheader on email sender name - thanks to xl32
184
- * Trim email addresses before sanitising them - thanks to byarts
185
- * Optimised the upgrade() function for large sites
186
-
187
- = Version 8.8 by Matthew Robinson =
188
-
189
- * Added ability to filter both excerpt_length and word_wrap
190
- * Added code to stop site wide activation on Multisite installs
191
- * Added code to fix compatibility issues with Autoblog plugin - thanks to Kevin Waite and Andy Stratton
192
- * Fixed digit entry in pagination section on Registeres tab in Subscribe2->Subscribers
193
- * Removed ID from a string in the Settings page as it was confusing
194
- * Enhanced Compulsory Category code to ensure that Registered Users all get notifications for such categories despite their current personal settings
195
- * Improved Pagination when the Filter is changed on the Subscribe2->Subscribers page
196
- * Use $wpdb->prefix in preference to $table_prefix
197
- * Improve functionality of the uninstall script on Multisite installs
198
- * Fixed glitch in upgrade85 code that failed to add a new database column when called
199
- * Sort subscribers into alphabetical order irrespective of case - thanks to mharpen
200
-
201
- = Version 8.7 by Matthew Robinson =
202
-
203
- * Enabled {TITLE} as a keyword in URL Tracking in free version
204
- * Moved Subscribers page class code to a new external class file to avoid fatal PHP errors on some sites
205
- * Fixed a glitch in the {TABLELINK} tag caused by adding support for {TINYLINK} to the digest email
206
- * Fixed and repaired addition of extra comma to s2_subscribed table values and also addition of null s2cat values
207
- * Fixed incomplete table creation on new installs - thanks to niclaslockner
208
- * Fix for PHP Warning about an undefined $value variable on form submission - thanks to annewinterbottom
209
- * Rename public subscriber variables internally for consistency
210
- * Implement variable caching for Registered users in the same way as for Public subscribers
211
- * Widen Subject boxes on the Subscribe2->Settings:Templates page - props Orion42
212
- * Allow easier customisation of the word wrap length in plain text emails - props Orion42
213
- * Abstracted the upgrade() code and made it incremental so that only necessary code is executed
214
- * Fixed a bug in the Send Email page that failed to send emails to Public Subscribers when All Users was selected - thanks to Gui
215
- * Added an option to disable JavaScript within the Widget
216
- * Minor code improvements
217
-
218
- = Version 8.6 by Matthew Robinson =
219
-
220
- * Minor layout update to Widget Settings
221
- * Fix for non-sending notifications for pages - proposed by ctcdesign
222
- * Fix for a translation domain error in admin/settings.php - proposed by monpelaud
223
- * Fix for deprecated is_blog_user() function on Multisite installs - proposed by hallcp
224
- * Extend Subscribe2 database table to collect additional data to meet DreamHost privacy policy - thanks to matt, joshukraine and Dreamhost
225
- * Refresh Subscribers page in admin, tables now sortable on present columns
226
- * Order CSS files better by applying CSSComb
227
- * Reuse $value variable in the 'frontend' class to reduce translation strings
228
- * Improve AJAX form to obey the shortcode hide parameter - proposed by bwsl
229
- * Correct spelling error in the Settings page - proposed by dimadin
230
- * Call translation code via a hook to allow greater dynamic control - proposed by dimadin
231
- * Look in more locations for translation files, can place in core languages folder now for upgrade protection
232
- * Refresh Settings page in admin to a tabbed interface
233
- * Strip HTML from email subject to improve compatibility with other plugins and WordPress 3.5
234
- * Fixed bug in the display of compulsory categories in the Settings page
235
- * Add option to manually send emails to All Registered Users and Public Subscribers - proposed by TigWeb
236
- * Enable TinyURL link shortening for Digest Notification Emails if {TINYLINK} is present in the Email Template
237
- * Fixed bug in TinyURL error handling and fallback when link generation fails
238
- * Fixed bug where {DATE} was left blank in the subject field for future scheduled post notifications - thanks to Steve Savoy
239
- * Added a filter to allow on-the-fly alteration of the size of the {IMAGE} in the paid version
240
- * Fixed a warning message for a core function ready for WordPress 3.6
241
- * Enabled {TITLE} as a keyword in URL Tracking in HTML version
242
-
243
- = Version 8.5 by Matthew Robinson =
244
-
245
- * Fixed width of a page select drop down in the Widget settings - thanks to Balky79
246
- * Added option to check the comment subscription box by default - proposed by Doug Lerner
247
- * Improved off-domain error message in Settings page and address checking if Blogname is selected
248
- * Fixed an issue on Multisite installs displaying the wrong link to profiles pages for other blog sites - thanks to MadtownLems
249
- * Fixed an issue with Image and Shortcode replacement in the visual editor (TinyMCE) - thanks to Dave Firman
250
- * Fixed unique IDs for 2 possible error messages in the Settings page - thanks to MadtownLems
251
- * Fixed several HTML5 validation error in the admin pages
252
- * Improved regex replacedment of s strike and del HTML tags in plaintext emails - thanks to jimshell
253
- * Use wp_kses() rather than strip_tags() on email subject lines so that single angle brackets are allowed - thanks to eightize and esmi
254
- * Allow remote definition of email address in form - thanks to orion42
255
- * Added ability to have compulsory categories - proposed by iClimb
256
- * Apply WordPress the_author filter to the author names to improve plugin compatibility - proposed by SpaciousMind
257
- * Added the ability to track the post ID in the tracking Parameter field - proposed by Laga
258
- * Protect the 's2email' post meta key - proposed by Nally123
259
- * Strip excess white space within the Digest email when images are removed
260
- * Add a time column to the public subscriber table for hosting provider spam policy compliance - proposed by Erik N
261
- * Change plugin folder name to suppress update prompts for the HTML version
262
- * Rename js files consistently with core ticket 21633
263
- * Add width parameter to comment form text to fix issues with some themes - proposed by mharpen
264
- * Added option to include Sticky Posts at the top of all Digest Notifications - proposed by pkhatmedia
265
- * Fixed some Markdown errors in the ReadMe
266
-
267
- = Version 8.4 by Matthew Robinson =
268
-
269
- * Fixed an error in the 'Send Mail' page that blocked emails from being sent
270
- * Added tracking features to Digest title links in HTML version - thanks to Jeremy Schultz
271
- * Provide clearer user feedback for Send and Preview buttons in "Send Email" window
272
- * Add new option to the Widget to return users to the home page on submission
273
- * Added warning to Settings page if selected sender email address is "off-domain"
274
- * Fixed numerous minor SQL injections vectors - thanks to Tom Adams (holizz)
275
- * Removed auto-embed iframes from HTML emails - thanks to Doug Lerner
276
- * Add more intuitive user messages for Public Subscribers when Unsubscribing - thanks to Doug Lerner
277
-
278
- = Version 8.3 by Matthew Robinson =
279
-
280
- * Fixed a bunch of PHP messages - should not show anyway unless WP_DEBUG is true or PHP error reporting is on a high setting
281
- * Fixed bulk category management so it applies to all users and not just the first record
282
- * Update 'autosub' to no on one-click unsubscribe instead of erasing the value
283
- * Return empty string is get_tracking_link() is passed and empty variable
284
- * Fixed some typographical errors
285
- * Fixed profile page to obey 'one click' display setting
286
- * Fixed implode error seen when sending preview emails on some configurations
287
- * Fixed a error in the admin user dropdown on installs (particularly Multisite) where there may be no administrator level users
288
- * Added a button text filter for the Subscribe and Unsubscribe buttons - proposed by casben79
289
- * Use wp_hash in place of MD5 to further obfuscate confirmation links - thanks to Charlie Eriksen, Otto and Ipstenu
290
-
291
- = Version 8.2 by Matthew Robinson =
292
-
293
- * Implemented use of Farbtastic as colour chooser in the Counter Widget because ColorPicker has been deprecated in WordPress
294
- * Fixed one hook call in WordPress to pass $this variable by reference to save a little more RAM
295
- * Fixed Subscribe2 implementation of custom taxonomies
296
- * Fixed Bulk Management Format Change code to apply for all users
297
- * Fix for low impact security vulnerability
298
-
299
- = Version 8.1 by Matthew Robinson =
300
-
301
- * Fixed redirect errors and crash affecting multisite installs on upgrade to 8.0 - thanks in particular to Ed Cooper
302
- * Fixed several other multisite bugs affecting links and styling - thanks to Mark Olbert
303
- * Fixed empty CSV exports - thanks to Gil Namur
304
-
305
- = Version 8.0 by Matthew Robinson =
306
-
307
- * Split the main plugin file into separate classes for more efficient (60% less RAM) server resource usage - huge thanks to Milan Petrovic
308
- * Ensure notifications for posts are sent to all active registered users
309
- * Fixed bug in Bulk Management code to include all filtered Registered Subscribers, not just those on current screen - thanks to samandiriel
310
- * Fixed some PHP messages regarding use of deprecated clean_url() function and WordPress version checking - thanks to anmari
311
- * Improved white space trimming in the code so it respects tabs and line breaks - thanks to belg4mit
312
- * Updated screenshots to Subscribe2 8.0 and WordPress 3.3.1 screen layouts
313
- * Implemented one-click buttons to subscribe and unsubscribe - thanks to dimadin for code patch
314
- * Changed some default settings, sender to BLOGNAME and number of recipients per email to 1
315
- * Implemented a change so that categories are not displayed in the filter dropdowns when using Subscribe2 in digest mode
316
- * Ensure an action is specified for HTML5 validity - thanks to Franco Carinato
317
- * Introduced 4 new hooks to filter per-post subscribers for each of the 4 email types - thanks to Nicolas Noé
318
 
319
  See complete changelog [here.](http://plugins.svn.wordpress.org/subscribe2/trunk/ChangeLog.txt)
320
 
4
  Tags: posts, subscription, email, subscribe, notify, notification
5
  Requires at least: 3.3
6
  Tested up to: 3.9
7
+ Stable tag: 10.1
8
  License: GPL3
9
 
10
  Sends a list of subscribers an email notification when new posts are published to your blog.
30
  If you want to send full content HTML emails to Public Subscribers too then upgrade to [Subscribe2 HTML](http://semperplugins.com/plugins/subscribe2-html/).
31
 
32
  = ReadyGraph App =
33
+ COMING SOON: This menu item allows users to sign up for a free ReadyGraph account, or sync an existing free ReadyGraph account. Once a ReadyGraph account is synced, this menu item is where the user manages their ReadyGraph account, views email addresses, sends emails to their community members, and views insights on user growth.
34
 
35
  == Installation ==
36
 
69
  4. The Subscribe2->Subscribe2 admin page generated by the plugin.
70
 
71
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
 
73
  See complete changelog [here.](http://plugins.svn.wordpress.org/subscribe2/trunk/ChangeLog.txt)
74
 
admin/app_page.php DELETED
@@ -1,183 +0,0 @@
1
-
2
- <?php
3
- global $wpdb;
4
- $app_id = $_GET["app_id"];
5
- if($app_id){
6
- $sSql = "insert into ".WP_subscribe2_TABLE_APP." VALUES ('1', '".$app_id."') ";
7
- $data = $wpdb->get_results($sSql);
8
- }
9
- ?>
10
-
11
- <?php
12
- $cSql = "select * from ".WP_subscribe2_TABLE_APP." where 1=1 ";
13
- $result = $wpdb->get_results($cSql);
14
- if(count($result) > 0)
15
- {
16
- ?>
17
- <div class="wrap">
18
- <div id="icon-plugins" class="icon32"></div>
19
- <h2>Final Step: Place the widget on your site to get started</h2>
20
- <h3>Drag the widget to a prominent place to maximize signups.</h3>
21
- <a class="button add-new-h2" style="text-shadow:none;background:#36812E;background-color:#36812E;color:white;" href="widgets.php">Place Widget Now</a>
22
- <p>Tips</p>
23
- <ul>
24
- <li>-Already have the widget in place? Manage your ReadyGraph account <a href="http://readygraph.com/application/insights/"> here</a></li>
25
- <li>-Need help? Email <a href="mailto:nick@readygraph.com">nick@readygraph.com</a> or click <a href="http://readygraph.com">here</a> </li>
26
- </ul>
27
-
28
-
29
- </div>
30
-
31
-
32
- <?php }else{ ?>
33
-
34
- <div class="wrap">
35
- <div id="icon-plugins" class="icon32"></div>
36
- <h2>Simple Subscribe, Now with Readygraph </h2>
37
- <h3>Activate Readygraph features to optimize Simple Subscribe functionality</h3>
38
- <p style="display:none;color:red;" id="error"></p>
39
- <div class="register-left" style="float: left; width:25%;">
40
- <div class="form-wrap">
41
- <h3>Free Signup </h3>
42
- <p>
43
- <label for="tag-title">Site URL</label>
44
- <input type="text" id="register-url" name="eemail_on_homepage">
45
- </p>
46
-
47
- <p>
48
- <label for="tag-title">Name</label>
49
- <input type="text" id="register-name" name="eemail_on_homepage">
50
- </p>
51
-
52
- <p>
53
- <label for="tag-title">Email</label>
54
- <input type="text" id="register-email" name="eemail_on_homepage">
55
- </p>
56
- <p>
57
- <label for="tag-title">Password</label>
58
- <input type="password" id="register-password" name="eemail_on_homepage">
59
- </p>
60
- <p>
61
- <label for="tag-title">Confirm Password</label>
62
- <input type="password" id="register-password1" name="eemail_on_homepage">
63
- </p>
64
-
65
- <p style="max-width:180px;font-size: 10px;">By signing up, you agree to our <a href="http://www.readygraph.com/tos">Terms of Service</a> and <a href='http://readygraph.com/privacy/'>Privacy Policy</a>.</p>
66
- <p style="margin-top:10px;">
67
- <input type="submit" style="text-shadow:none;background:#36812E;width:193px;background-color:#36812E;color:white;" value="Continue to place widget" id="register-app-submit" class="button" name="Submit">
68
- </p>
69
- </div>
70
-
71
- </div>
72
- <div class="register-mid" style="float: left;width:25%;">
73
- <div class="form-wrap">
74
- <p>
75
- <h3>Already a member?</h3>
76
- <label for="tag-title">Email</label>
77
- <input type="text" id="signin-email" name="eemail_on_homepage">
78
- </p>
79
- <p>
80
- <label for="tag-title">Password</label>
81
- <input type="password" id="signin-password" name="eemail_on_homepage">
82
- </p>
83
- <p style="padding-top:10px;">
84
- <input type="submit" style="width:193px;color:" value="Sign In" id="signin-submit" class="button add-new-h2" name="Submit">
85
- </p>
86
- </div>
87
- </div>
88
- <div class="register-right" style="float:left;width:35%;">
89
- <div class="form-wrap alert" style="font-size: 16px;background-color: #F9F8F3;border: 2px solid #EBECE8;border-radius: 6px;padding: 16px 45px 16px 30px;">
90
- <p>
91
- <h3>Signup For These Benefits:</h3>
92
- <p>-Grow your subscribers faster</p>
93
- <p>-Engage users with automated email updates</p>
94
- <p>-Enhanced email deliverablility</p>
95
- <p>-Track performace with user-activity analytics</p>
96
- </div>
97
- </div>
98
- <?php } ?>
99
-
100
- <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
101
- <script type="text/javascript">
102
-
103
-
104
- $('#signin-submit').click(function(e){
105
- var email = $('#signin-email').val()
106
- var password = $('#signin-password').val()
107
- if(!email){
108
- alert('email is empty!')
109
- return
110
- }
111
- if(!password){
112
- alert('password is empty')
113
- return
114
- }
115
- $.ajax({
116
- type: 'GET',
117
- url: 'https://readygraph.com/api/v1/wordpress-login/',
118
- data: {
119
- 'email' : email,
120
- 'password' : password
121
- },
122
- dataType: 'json',
123
- success: function(response) {
124
- if(response.success)
125
- {
126
-
127
- var pathname = window.location.href;
128
- window.location = pathname + "&app_id="+response.data.app_id;
129
- }else{
130
- $('#error').text(response.error)
131
- $('#error').show();
132
- }
133
- }
134
- });
135
-
136
-
137
- });
138
-
139
- $('#register-app-submit').click(function(e){
140
- var email = $('#register-email').val()
141
- var site_url = $('#register-url').val()
142
- var first_name = $('#register-name').val()
143
- var password = $('#register-password').val()
144
- var password2 = $('#register-password1').val()
145
- if(!site_url){
146
- alert('Site Url is empty.')
147
- return;
148
- }
149
- if(!email){
150
- alert('Email is empty.')
151
- return;
152
- }
153
- if( !password || password != password2 ){
154
- alert('Password is not matching.')
155
- return;
156
- }
157
-
158
- $.ajax({
159
- type: 'POST',
160
- url: 'https://readygraph.com/api/v1/wordpress-signup/',
161
- data: {
162
- 'email' : email,
163
- 'site_url' : site_url,
164
- 'first_name': first_name,
165
- 'password' : password,
166
- 'password2' : password2,
167
- 'source':'subscribe2'
168
- },
169
- dataType: 'json',
170
- success: function(response) {
171
- if(response.success)
172
- {
173
- var pathname = window.location.href;
174
- window.location = pathname + "&app_id="+response.data.app_id;
175
- }else{
176
- $('#error').text(response.error)
177
- $('#error').show();
178
- }
179
- }
180
- });
181
-
182
- });
183
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class-s2-admin.php CHANGED
@@ -6,13 +6,15 @@ class s2_admin extends s2class {
6
  */
7
  function admin_menu() {
8
  add_menu_page(__('Subscribe2', 'subscribe2'), __('Subscribe2', 'subscribe2'), apply_filters('s2_capability', "read", 'user'), 's2', NULL, S2URL . 'include/email_edit.png');
9
- #add_submenu_page('SimpleSubscribe', 'Readygraph App', 'Readygraph App', 'manage_options', 'ssubscribe-register-app', array($this, 'add_ssubscribe_app_register_page'));
10
- add_submenu_page('s2', __('Readygraph App', 'subscribe2'), __('Readygraph App', 'subscribe2'), apply_filters('s2_capability', "manage_options", 'manage'), 's2_readygraph', array(&$this, 'readygraph_menu'));
11
  $s2user = add_submenu_page('s2', __('Your Subscriptions', 'subscribe2'), __('Your Subscriptions', 'subscribe2'), apply_filters('s2_capability', "read", 'user'), 's2', array(&$this, 'user_menu'), S2URL . 'include/email_edit.png');
12
  add_action("admin_print_scripts-$s2user", array(&$this, 'checkbox_form_js'));
13
  add_action("admin_print_styles-$s2user", array(&$this, 'user_admin_css'));
14
  add_action('load-' . $s2user, array(&$this, 'user_help'));
15
 
 
 
 
16
  $s2subscribers = add_submenu_page('s2', __('Subscribers', 'subscribe2'), __('Subscribers', 'subscribe2'), apply_filters('s2_capability', "manage_options", 'manage'), 's2_tools', array(&$this, 'subscribers_menu'));
17
  add_action("admin_print_scripts-$s2subscribers", array(&$this, 'checkbox_form_js'));
18
  add_action('load-' . $s2subscribers, array(&$this, 'subscribers_help'));
@@ -154,6 +156,13 @@ class s2_admin extends s2class {
154
  wp_enqueue_script('s2_date_time');
155
  } // end option_form_js()
156
 
 
 
 
 
 
 
 
157
  /**
158
  Adds a links directly to the settings page from the plugin page
159
  */
@@ -175,9 +184,9 @@ class s2_admin extends s2class {
175
  } // end subscribers_menu()
176
 
177
  function readygraph_menu() {
178
- global $wpdb;
179
- require_once(S2PATH . 'admin/app_page.php');
180
- } // end subscribers_menu()
181
 
182
  /**
183
  Our settings page
@@ -250,17 +259,16 @@ class s2_admin extends s2class {
250
  } // end widget_s2_counter_css_and_js()
251
 
252
  /**
253
- Function to add css and js files to admin header
254
  */
255
  function on_plugin_activated_redirect(){
256
- $setting_url="admin.php?page=s2_readygraph";
257
 
258
- if (get_option('s2_do_activation_redirect', false)) {
259
- delete_option('s2_do_activation_redirect');
260
- wp_redirect($setting_url);
261
-
262
- }
263
- }// end widget_s2_counter_css_and_js()
264
 
265
  /* ===== meta box functions to allow per-post override ===== */
266
  /**
@@ -582,7 +590,7 @@ class s2_admin extends s2class {
582
  $count['all_users'] = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");
583
  }
584
  if ( $this->s2_mu ) {
585
- $count['registered'] = $wpdb->get_var($wpdb->prepare("SELECT COUNT(b.meta_key) FROM $wpdb->usermeta AS a INNER JOIN $wpdb->usermeta AS b ON a.user_id = b.user_id WHERE a.meta_key='" . $wpdb->prefix . "capabilities' AND b.meta_key=%s AND b.meta_value <> ''", $this->get_usermeta_keyname('s2_subscribed')));
586
  } else {
587
  $count['registered'] = $wpdb->get_var($wpdb->prepare("SELECT COUNT(meta_key) FROM $wpdb->usermeta WHERE meta_key=%s AND meta_value <> ''", $this->get_usermeta_keyname('s2_subscribed')));
588
  }
@@ -744,6 +752,7 @@ class s2_admin extends s2class {
744
  $pages = get_pages();
745
  if ( empty($pages) ) { return; }
746
 
 
747
  foreach ( $pages as $page ) {
748
  $option .= "<option value=\"" . $page->ID . "\"";
749
  if ( $page->ID == $s2page ) {
6
  */
7
  function admin_menu() {
8
  add_menu_page(__('Subscribe2', 'subscribe2'), __('Subscribe2', 'subscribe2'), apply_filters('s2_capability', "read", 'user'), 's2', NULL, S2URL . 'include/email_edit.png');
9
+
 
10
  $s2user = add_submenu_page('s2', __('Your Subscriptions', 'subscribe2'), __('Your Subscriptions', 'subscribe2'), apply_filters('s2_capability', "read", 'user'), 's2', array(&$this, 'user_menu'), S2URL . 'include/email_edit.png');
11
  add_action("admin_print_scripts-$s2user", array(&$this, 'checkbox_form_js'));
12
  add_action("admin_print_styles-$s2user", array(&$this, 'user_admin_css'));
13
  add_action('load-' . $s2user, array(&$this, 'user_help'));
14
 
15
+ //$s2readygraph = add_submenu_page('s2', __('Readygraph App', 'subscribe2'), __('Readygraph App', 'subscribe2'), apply_filters('s2_capability', "manage_options", 'readygraph'), 's2_readygraph', array(&$this, 'readygraph_menu'));
16
+ //add_action("admin_print_scripts-$s2readygraph", array(&$this, 'readygraph_js'));
17
+
18
  $s2subscribers = add_submenu_page('s2', __('Subscribers', 'subscribe2'), __('Subscribers', 'subscribe2'), apply_filters('s2_capability', "manage_options", 'manage'), 's2_tools', array(&$this, 'subscribers_menu'));
19
  add_action("admin_print_scripts-$s2subscribers", array(&$this, 'checkbox_form_js'));
20
  add_action('load-' . $s2subscribers, array(&$this, 'subscribers_help'));
156
  wp_enqueue_script('s2_date_time');
157
  } // end option_form_js()
158
 
159
+ /**
160
+ Enqueue jQuery for ReadyGraph
161
+ */
162
+ function readygraph_js() {
163
+ wp_enqueue_script('jquery');
164
+ } // end readygraph_js()
165
+
166
  /**
167
  Adds a links directly to the settings page from the plugin page
168
  */
184
  } // end subscribers_menu()
185
 
186
  function readygraph_menu() {
187
+ global $wpdb;
188
+ require_once(S2PATH . 'admin/app_page.php');
189
+ } // end readygraph_menu()
190
 
191
  /**
192
  Our settings page
259
  } // end widget_s2_counter_css_and_js()
260
 
261
  /**
262
+ Function to to handle activate redirect
263
  */
264
  function on_plugin_activated_redirect(){
265
+ $setting_url="admin.php?page=s2_readygraph";
266
 
267
+ if ( get_option('s2_do_activation_redirect', false) ) {
268
+ delete_option('s2_do_activation_redirect');
269
+ wp_redirect($setting_url);
270
+ }
271
+ } // end on_plugin_activated_redirect()
 
272
 
273
  /* ===== meta box functions to allow per-post override ===== */
274
  /**
590
  $count['all_users'] = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");
591
  }
592
  if ( $this->s2_mu ) {
593
+ $count['registered'] = $wpdb->get_var($wpdb->prepare("SELECT COUNT(b.meta_key) FROM $wpdb->usermeta AS a INNER JOIN $wpdb->usermeta AS b ON a.user_id = b.user_id WHERE a.meta_key='" . $wpdb->prefix . "capabilities' AND b.meta_key=%s AND b.meta_value <> ''", $this->get_usermeta_keyname('s2_subscribed')));
594
  } else {
595
  $count['registered'] = $wpdb->get_var($wpdb->prepare("SELECT COUNT(meta_key) FROM $wpdb->usermeta WHERE meta_key=%s AND meta_value <> ''", $this->get_usermeta_keyname('s2_subscribed')));
596
  }
752
  $pages = get_pages();
753
  if ( empty($pages) ) { return; }
754
 
755
+ $option = '';
756
  foreach ( $pages as $page ) {
757
  $option .= "<option value=\"" . $page->ID . "\"";
758
  if ( $page->ID == $s2page ) {
classes/class-s2-core.php CHANGED
@@ -38,17 +38,6 @@ class s2class {
38
 
39
  // create the table, as needed
40
  maybe_create_table($this->public, $sql);
41
- global $wpdb;
42
- // tables, get ready!
43
-
44
- if(strtoupper($wpdb->get_var("show tables like '". WP_subscribe2_TABLE_APP . "'")) != strtoupper(WP_subscribe2_TABLE_APP))
45
- {
46
- $wpdb->query("
47
- CREATE TABLE `". WP_subscribe2_TABLE_APP . "` (
48
- `eemail_app_pk` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
49
- `eemail_app_id` VARCHAR( 250 ) NOT NULL )
50
- ");
51
- }
52
 
53
  // create table entries for registered users
54
  $users = $this->get_all_registered('ID');
@@ -61,13 +50,11 @@ class s2class {
61
  }
62
  }
63
  }
64
-
65
  // safety check if options exist and if not create them
66
  if ( !is_array($this->subscribe2_options) ) {
67
  $this->reset();
68
  }
69
-
70
-
71
  } // end install()
72
 
73
  /**
@@ -135,9 +122,9 @@ class s2class {
135
  $this->subscribe2_options['version'] = '8.8';
136
  update_option('subscribe2_options', $this->subscribe2_options);
137
  }
138
- if ( version_compare($this->subscribe2_options['version'], '10.0', '<') ) {
139
- $s2_upgrade->upgrade100();
140
- $this->subscribe2_options['version'] = '10.0';
141
  }
142
 
143
  $this->subscribe2_options['version'] = S2VERSION;
@@ -1039,7 +1026,7 @@ class s2class {
1039
  }
1040
  update_user_meta($user_ID, $this->get_usermeta_keyname('s2_autosub'), $this->subscribe2_options['autosub_def']);
1041
  // if the are no existing subscriptions, create them if we have consent
1042
- if ( true === $consent ) {
1043
  update_user_meta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), $cats);
1044
  foreach ( explode(',', $cats) as $cat ) {
1045
  update_user_meta($user_ID, $this->get_usermeta_keyname('s2_cat') . $cat, $cat);
@@ -1379,6 +1366,7 @@ class s2class {
1379
  }
1380
 
1381
  // Collect sticky posts if desired
 
1382
  if ( $this->subscribe2_options['stickies'] == 'yes' ) {
1383
  $sticky_ids = get_option('sticky_posts');
1384
  if ( !empty($sticky_ids) ) {
@@ -1389,19 +1377,21 @@ class s2class {
1389
 
1390
  // do we have any posts?
1391
  if ( empty($posts) && !has_filter('s2_digest_email') ) { return false; }
1392
- $this->post_count = count($posts);
1393
 
1394
  // if we have posts, let's prepare the digest
 
1395
  $datetime = get_option('date_format') . ' @ ' . get_option('time_format');
1396
  $all_post_cats = array();
1397
  $ids = array();
 
1398
  $mailtext = apply_filters('s2_email_template', $this->subscribe2_options['mailtext']);
1399
  $table = '';
1400
  $tablelinks = '';
1401
  $message_post= '';
1402
  $message_posttime = '';
1403
- $digest_post_ids = array();
1404
  $s2_taxonomies = apply_filters('s2_taxonomies', array('category'));
 
1405
  foreach ( $posts as $post ) {
1406
  // keep an array of post ids and skip if we've already done it once
1407
  if ( in_array($post->ID, $ids) ) { continue; }
@@ -1445,11 +1435,7 @@ class s2class {
1445
  continue;
1446
  }
1447
 
1448
- if ( isset($sticky_ids) && !in_array($post->ID, $sticky_ids) ) {
1449
- $digest_post_ids[] = $post->ID;
1450
- } else {
1451
- $digest_post_ids[] = $post->ID;
1452
- }
1453
 
1454
  $post_title = html_entity_decode($post->post_title, ENT_QUOTES);
1455
  ('' == $table) ? $table .= "* " . $post_title : $table .= "\r\n* " . $post_title;
@@ -1521,8 +1507,13 @@ class s2class {
1521
  $message_posttime .= $excerpt . "\r\n\r\n";
1522
  }
1523
 
1524
- foreach ( $digest_post_ids as $digest_post_id ) {
1525
- update_post_meta($digest_post_id, '_s2_digest_post_status', 'done');
 
 
 
 
 
1526
  }
1527
  $this->subscribe2_options['last_s2cron'] = implode(',', $digest_post_ids);
1528
  update_option('subscribe2_options', $this->subscribe2_options);
@@ -1536,10 +1527,6 @@ class s2class {
1536
  $message_post = preg_replace("|[\r\n]{3,}|", "\r\n\r\n", $message_post);
1537
  $message_posttime = preg_replace("|[\r\n]{3,}|", "\r\n\r\n", $message_posttime);
1538
 
1539
- // apply filter to allow custom keywords
1540
- $message_post = apply_filters('s2_custom_keywords', $message_post, $digest_post_ids);
1541
- $message_posttime = apply_filters('s2_custom_keywords', $message_posttime, $digest_post_ids);
1542
-
1543
  // apply filter to allow external content to be inserted or content manipulated
1544
  $message_post = apply_filters('s2_digest_email', $message_post);
1545
  $message_posttime = apply_filters('s2_digest_email', $message_posttime);
@@ -1568,6 +1555,9 @@ class s2class {
1568
  $mailtext = str_replace("{TABLE}", $table, $mailtext);
1569
  $mailtext = str_replace("{POSTTIME}", $message_posttime, $mailtext);
1570
  $mailtext = str_replace("{POST}", $message_post, $mailtext);
 
 
 
1571
  $mailtext = stripslashes($this->substitute($mailtext));
1572
 
1573
  // prepare recipients
@@ -1622,7 +1612,7 @@ class s2class {
1622
  // get the WordPress release number for in code version comparisons
1623
  $tmp = explode('-', $wp_version, 2);
1624
  $this->wp_release = $tmp[0];
1625
-
1626
  // Is this WordPressMU or not?
1627
  if ( isset($wpmu_version) || strpos($wp_version, 'wordpress-mu') ) {
1628
  $this->s2_mu = true;
@@ -1703,7 +1693,7 @@ class s2class {
1703
  if ( $this->clean_interval > 0 ) {
1704
  add_action('wp_scheduled_delete', array(&$this, 's2cleaner_task'));
1705
  }
1706
- add_action('admin_init', array(&$this, 'on_plugin_activated_redirect'));
1707
  // Add actions specific to admin or frontend
1708
  if ( is_admin() ) {
1709
  //add menu, authoring and category admin actions
@@ -1720,7 +1710,7 @@ class s2class {
1720
  add_filter('ozh_adminmenu_icon_s2_tools', array(&$this, 'ozh_s2_icon'));
1721
  add_filter('ozh_adminmenu_icon_s2_settings', array(&$this, 'ozh_s2_icon'));
1722
  }
1723
-
1724
  // add write button
1725
  if ( '1' == $this->subscribe2_options['show_button'] ) {
1726
  add_action('admin_init', array(&$this, 'button_init'));
@@ -1730,7 +1720,6 @@ class s2class {
1730
  if ( '1' == $this->subscribe2_options['counterwidget'] ) {
1731
  add_action('admin_init', array(&$this, 'widget_s2counter_css_and_js'));
1732
  }
1733
-
1734
 
1735
  // add one-click handlers
1736
  if ( 'yes' == $this->subscribe2_options['one_click_profile'] ) {
38
 
39
  // create the table, as needed
40
  maybe_create_table($this->public, $sql);
 
 
 
 
 
 
 
 
 
 
 
41
 
42
  // create table entries for registered users
43
  $users = $this->get_all_registered('ID');
50
  }
51
  }
52
  }
53
+
54
  // safety check if options exist and if not create them
55
  if ( !is_array($this->subscribe2_options) ) {
56
  $this->reset();
57
  }
 
 
58
  } // end install()
59
 
60
  /**
122
  $this->subscribe2_options['version'] = '8.8';
123
  update_option('subscribe2_options', $this->subscribe2_options);
124
  }
125
+ if ( version_compare($this->subscribe2_options['version'], '9.5', '<') ) {
126
+ $s2_upgrade->upgrade95();
127
+ $this->subscribe2_options['version'] = '9.5';
128
  }
129
 
130
  $this->subscribe2_options['version'] = S2VERSION;
1026
  }
1027
  update_user_meta($user_ID, $this->get_usermeta_keyname('s2_autosub'), $this->subscribe2_options['autosub_def']);
1028
  // if the are no existing subscriptions, create them if we have consent
1029
+ if ( true === $consent ) {
1030
  update_user_meta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), $cats);
1031
  foreach ( explode(',', $cats) as $cat ) {
1032
  update_user_meta($user_ID, $this->get_usermeta_keyname('s2_cat') . $cat, $cat);
1366
  }
1367
 
1368
  // Collect sticky posts if desired
1369
+ $sticky_ids = array();
1370
  if ( $this->subscribe2_options['stickies'] == 'yes' ) {
1371
  $sticky_ids = get_option('sticky_posts');
1372
  if ( !empty($sticky_ids) ) {
1377
 
1378
  // do we have any posts?
1379
  if ( empty($posts) && !has_filter('s2_digest_email') ) { return false; }
 
1380
 
1381
  // if we have posts, let's prepare the digest
1382
+ // define some variables needed for the digest
1383
  $datetime = get_option('date_format') . ' @ ' . get_option('time_format');
1384
  $all_post_cats = array();
1385
  $ids = array();
1386
+ $digest_post_ids = array();
1387
  $mailtext = apply_filters('s2_email_template', $this->subscribe2_options['mailtext']);
1388
  $table = '';
1389
  $tablelinks = '';
1390
  $message_post= '';
1391
  $message_posttime = '';
1392
+ $this->post_count = count($posts);
1393
  $s2_taxonomies = apply_filters('s2_taxonomies', array('category'));
1394
+
1395
  foreach ( $posts as $post ) {
1396
  // keep an array of post ids and skip if we've already done it once
1397
  if ( in_array($post->ID, $ids) ) { continue; }
1435
  continue;
1436
  }
1437
 
1438
+ $digest_post_ids[] = $post->ID;
 
 
 
 
1439
 
1440
  $post_title = html_entity_decode($post->post_title, ENT_QUOTES);
1441
  ('' == $table) ? $table .= "* " . $post_title : $table .= "\r\n* " . $post_title;
1507
  $message_posttime .= $excerpt . "\r\n\r\n";
1508
  }
1509
 
1510
+ // update post_meta data for sent ids but not sticky posts
1511
+ foreach ( $ids as $id ) {
1512
+ if ( !empty($sticky_ids) && !in_array($id, $sticky_ids) ) {
1513
+ update_post_meta($id, '_s2_digest_post_status', 'done');
1514
+ } else {
1515
+ update_post_meta($id, '_s2_digest_post_status', 'done');
1516
+ }
1517
  }
1518
  $this->subscribe2_options['last_s2cron'] = implode(',', $digest_post_ids);
1519
  update_option('subscribe2_options', $this->subscribe2_options);
1527
  $message_post = preg_replace("|[\r\n]{3,}|", "\r\n\r\n", $message_post);
1528
  $message_posttime = preg_replace("|[\r\n]{3,}|", "\r\n\r\n", $message_posttime);
1529
 
 
 
 
 
1530
  // apply filter to allow external content to be inserted or content manipulated
1531
  $message_post = apply_filters('s2_digest_email', $message_post);
1532
  $message_posttime = apply_filters('s2_digest_email', $message_posttime);
1555
  $mailtext = str_replace("{TABLE}", $table, $mailtext);
1556
  $mailtext = str_replace("{POSTTIME}", $message_posttime, $mailtext);
1557
  $mailtext = str_replace("{POST}", $message_post, $mailtext);
1558
+
1559
+ // apply filter to allow custom keywords
1560
+ $mailtext = apply_filters('s2_custom_keywords', $mailtext, $digest_post_ids);
1561
  $mailtext = stripslashes($this->substitute($mailtext));
1562
 
1563
  // prepare recipients
1612
  // get the WordPress release number for in code version comparisons
1613
  $tmp = explode('-', $wp_version, 2);
1614
  $this->wp_release = $tmp[0];
1615
+
1616
  // Is this WordPressMU or not?
1617
  if ( isset($wpmu_version) || strpos($wp_version, 'wordpress-mu') ) {
1618
  $this->s2_mu = true;
1693
  if ( $this->clean_interval > 0 ) {
1694
  add_action('wp_scheduled_delete', array(&$this, 's2cleaner_task'));
1695
  }
1696
+ //add_action('admin_init', array(&$this, 'on_plugin_activated_redirect'));
1697
  // Add actions specific to admin or frontend
1698
  if ( is_admin() ) {
1699
  //add menu, authoring and category admin actions
1710
  add_filter('ozh_adminmenu_icon_s2_tools', array(&$this, 'ozh_s2_icon'));
1711
  add_filter('ozh_adminmenu_icon_s2_settings', array(&$this, 'ozh_s2_icon'));
1712
  }
1713
+
1714
  // add write button
1715
  if ( '1' == $this->subscribe2_options['show_button'] ) {
1716
  add_action('admin_init', array(&$this, 'button_init'));
1720
  if ( '1' == $this->subscribe2_options['counterwidget'] ) {
1721
  add_action('admin_init', array(&$this, 'widget_s2counter_css_and_js'));
1722
  }
 
1723
 
1724
  // add one-click handlers
1725
  if ( 'yes' == $this->subscribe2_options['one_click_profile'] ) {
classes/class-s2-frontend.php CHANGED
@@ -40,43 +40,12 @@ class s2_frontend extends s2class {
40
  /**/$this->unsubscribe = __('unsubscribe', 'subscribe2'); //ACTION replacement in unsubscribing in confirmation email
41
  } // end load_strings()
42
 
43
-
44
-
45
- function eemail_has_app(){
46
- global $wpdb;
47
- $cSql = "select * from wp_subscribe2_app where 1=1 ";
48
- $data = $wpdb->get_results($cSql);
49
-
50
- if(count($data) > 0){
51
- return true;
52
- }
53
- else{
54
- return false;
55
- }
56
- }
57
-
58
- function eemail_my_app_id(){
59
- global $wpdb;
60
- $cSql = "select * from wp_subscribe2_app where 1=1 ";
61
- $data = $wpdb->get_results($cSql,ARRAY_A);
62
-
63
-
64
- if(count($data) > 0){
65
- $app_id = $data[0]['eemail_app_id'];
66
- return $app_id;
67
- }
68
- else{
69
- return false;
70
- }
71
- }
72
-
73
-
74
  /* ===== template and filter functions ===== */
75
  /**
76
  Display our form; also handles (un)subscribe requests
77
  */
78
  function shortcode($atts) {
79
- extract(shortcode_atts(array(
80
  'hide' => '',
81
  'id' => '',
82
  'nojs' => 'false',
@@ -84,12 +53,12 @@ class s2_frontend extends s2class {
84
  'link' => '',
85
  'size' => 20,
86
  'wrap' => 'true'
87
- ), $atts));
88
 
89
  // if link is true return a link to the page with the ajax class
90
- if ( $link !== '' && !is_user_logged_in() ) {
91
- $hide_id = ($hide === '') ? "": " id=\"" . strtolower($hide) . "\"";
92
- $this->s2form = "<a href=\"" . get_permalink($this->subscribe2_options['s2page']) . "\" class=\"s2popup\"" . $hide_id . ">" . $link . "</a>\r\n";
93
  return $this->s2form;
94
  }
95
 
@@ -98,9 +67,9 @@ class s2_frontend extends s2class {
98
  $subscribe_button_value = apply_filters('s2_subscribe_button', __('Subscribe', 'subscribe2'));
99
 
100
  // if a button is hidden, show only other
101
- if ( strtolower($hide) == 'subscribe' ) {
102
  $this->input_form_action = "<input type=\"submit\" name=\"unsubscribe\" value=\"" . esc_attr($unsubscribe_button_value) . "\" />";
103
- } elseif ( strtolower($hide) == 'unsubscribe' ) {
104
  $this->input_form_action = "<input type=\"submit\" name=\"subscribe\" value=\"" . esc_attr($subscribe_button_value) . "\" />";
105
  } else {
106
  // both form input actions
@@ -109,11 +78,11 @@ class s2_frontend extends s2class {
109
 
110
  // if ID is provided, get permalink
111
  $action = '';
112
- if ( is_numeric($id) ) {
113
- $action = " action=\"" . get_permalink( $id ) . "\"";
114
- } elseif ( $id === 'home' ) {
115
  $action = " action=\"" . get_site_url() . "\"";
116
- } elseif ( $id === 'self' ) {
117
  $action = '';
118
  } elseif ( $this->subscribe2_options['s2page'] > 0 ) {
119
  $action = " action=\"" . get_permalink( $this->subscribe2_options['s2page'] ) . "\"";
@@ -122,7 +91,7 @@ class s2_frontend extends s2class {
122
  // allow remote setting of email in form
123
  if ( isset($_REQUEST['email']) && is_email($_REQUEST['email']) ) {
124
  $value = $this->sanitize_email($_REQUEST['email']);
125
- } elseif ( strtolower($nojs) == 'true' ) {
126
  $value = '';
127
  } else {
128
  $value = __('Enter email address...', 'subscribe2');
@@ -130,13 +99,13 @@ class s2_frontend extends s2class {
130
 
131
  // if wrap is true add paragraph html tags
132
  $wrap_text = '';
133
- if ( strtolower($wrap) == 'true' ) {
134
  $wrap_text = '</p><p>';
135
  }
136
 
137
  // deploy some anti-spam measures
138
  $antispam_text = '';
139
- if ( strtolower($noantispam) != 'true' ) {
140
  $antispam_text = "<span style=\"display:none !important\">";
141
  $antispam_text .= "<label for=\"name\">Leave Blank:</label><input type=\"text\" id=\"name\" name=\"name\" />";
142
  $antispam_text .= "<label for=\"uri\">Do Not Change:</label><input type=\"text\" id=\"uri\" name=\"uri\" value=\"http://\" />";
@@ -144,14 +113,10 @@ class s2_frontend extends s2class {
144
  }
145
 
146
  // build default form
147
- if ( strtolower($nojs) == 'true' ) {
148
- $this->form = "<form method=\"post\"" . $action . "><input type=\"hidden\" name=\"ip\" value=\"" . $_SERVER['REMOTE_ADDR'] . "\" />" . $antispam_text . "<p><label for=\"s2email\">" . __('Your email:', 'subscribe2') . "</label><br /><input type=\"text\" name=\"email\" id=\"s2email\" value=\"" . $value . "\" size=\"" . $size . "\" />" . $wrap_text . $this->input_form_action . "</p></form>";
149
  } else {
150
- if($this->eemail_has_app()){
151
- $this->form = "<form method=\"post\"" . $action . "><input type=\"hidden\" name=\"ip\" value=\"" . $_SERVER['REMOTE_ADDR'] . "\" />" . $antispam_text . "<p><label for=\"s2email\">" . __('Your email:', 'subscribe2') . "</label><br /><input type=\"text\" name=\"email\" id=\"s2email\" value=\"" . $value . "\" size=\"" . $size . "\" onfocus=\"if (this.value == '" . $value . "') {this.value = '';}\" onblur=\"if (this.value == '') {this.value = '" . $value . "';}\" />" . $wrap_text . $this->input_form_action . "</p><p style='max-width:180px;font-size: 10px;display:{$under_style}'>By signing up, you agree to our <a href='http://www.readygraph.com/tos'>Terms of Service</a> and <a href='http://readygraph.com/privacy/'>Privacy Policy</a>.</p></form>\r\n";
152
- }else{
153
- $this->form = "<form method=\"post\"" . $action . "><input type=\"hidden\" name=\"ip\" value=\"" . $_SERVER['REMOTE_ADDR'] . "\" />" . $antispam_text . "<p><label for=\"s2email\">" . __('Your email:', 'subscribe2') . "</label><br /><input type=\"text\" name=\"email\" id=\"s2email\" value=\"" . $value . "\" size=\"" . $size . "\" onfocus=\"if (this.value == '" . $value . "') {this.value = '';}\" onblur=\"if (this.value == '') {this.value = '" . $value . "';}\" />" . $wrap_text . $this->input_form_action . "</p></form>\r\n";
154
- }
155
  }
156
  $this->s2form = apply_filters('s2_form', $this->form);
157
 
@@ -162,40 +127,13 @@ class s2_frontend extends s2class {
162
  }
163
 
164
  if ( isset($_POST['subscribe']) || isset($_POST['unsubscribe']) ) {
165
- // anti spam sign up measure
166
- $this->email = $this->sanitize_email($_POST['email']);
167
- global $wpdb, $user_email;
168
- $cSql = "select * from wp_subscribe2_app where 1=1 ";
169
- $data = $wpdb->get_results($cSql,ARRAY_A);
170
- if(count($data) > 0){
171
- $app_id = $data[0]['eemail_app_id'];
172
-
173
- $rg_url = 'https://readygraph.com/api/v1/wordpress-enduser/';
174
-
175
- $postdata = http_build_query(
176
- array(
177
- 'email' => $this->email,
178
- 'app_id' => $app_id
179
- )
180
- );
181
-
182
- $opts = array('http' =>
183
- array(
184
- 'method' => 'POST',
185
- 'header' => 'Content-type: application/x-www-form-urlencoded',
186
- 'content' => $postdata
187
- )
188
- );
189
- $context = stream_context_create($opts);
190
- $result = file_get_contents($rg_url,false, $context);
191
-
192
- }
193
-
194
- if ( $_POST['name'] != '' || $_POST['uri'] != 'http://' ) {
195
  // looks like some invisible-to-user fields were changed; falsely report success
196
  return $this->confirmation_sent;
197
  }
198
-
 
199
  if ( !is_email($this->email) ) {
200
  $this->s2form = $this->form . $this->not_an_email;
201
  } elseif ( $this->is_barred($this->email) ) {
40
  /**/$this->unsubscribe = __('unsubscribe', 'subscribe2'); //ACTION replacement in unsubscribing in confirmation email
41
  } // end load_strings()
42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  /* ===== template and filter functions ===== */
44
  /**
45
  Display our form; also handles (un)subscribe requests
46
  */
47
  function shortcode($atts) {
48
+ $args = shortcode_atts(array(
49
  'hide' => '',
50
  'id' => '',
51
  'nojs' => 'false',
53
  'link' => '',
54
  'size' => 20,
55
  'wrap' => 'true'
56
+ ), $atts);
57
 
58
  // if link is true return a link to the page with the ajax class
59
+ if ( '' !== $args['link'] && !is_user_logged_in() ) {
60
+ $hide_id = ('' === $args['hide']) ? "": " id=\"" . strtolower($args['hide']) . "\"";
61
+ $this->s2form = "<a href=\"" . get_permalink($this->subscribe2_options['s2page']) . "\" class=\"s2popup\"" . $hide_id . ">" . $args['link'] . "</a>\r\n";
62
  return $this->s2form;
63
  }
64
 
67
  $subscribe_button_value = apply_filters('s2_subscribe_button', __('Subscribe', 'subscribe2'));
68
 
69
  // if a button is hidden, show only other
70
+ if ( strtolower($args['hide']) == 'subscribe' ) {
71
  $this->input_form_action = "<input type=\"submit\" name=\"unsubscribe\" value=\"" . esc_attr($unsubscribe_button_value) . "\" />";
72
+ } elseif ( strtolower($args['hide']) == 'unsubscribe' ) {
73
  $this->input_form_action = "<input type=\"submit\" name=\"subscribe\" value=\"" . esc_attr($subscribe_button_value) . "\" />";
74
  } else {
75
  // both form input actions
78
 
79
  // if ID is provided, get permalink
80
  $action = '';
81
+ if ( is_numeric($args['id']) ) {
82
+ $action = " action=\"" . get_permalink( $args['id'] ) . "\"";
83
+ } elseif ( 'home' === $args['id'] ) {
84
  $action = " action=\"" . get_site_url() . "\"";
85
+ } elseif ( 'self' === $args['id'] ) {
86
  $action = '';
87
  } elseif ( $this->subscribe2_options['s2page'] > 0 ) {
88
  $action = " action=\"" . get_permalink( $this->subscribe2_options['s2page'] ) . "\"";
91
  // allow remote setting of email in form
92
  if ( isset($_REQUEST['email']) && is_email($_REQUEST['email']) ) {
93
  $value = $this->sanitize_email($_REQUEST['email']);
94
+ } elseif ( 'true' == strtolower($args['nojs']) ) {
95
  $value = '';
96
  } else {
97
  $value = __('Enter email address...', 'subscribe2');
99
 
100
  // if wrap is true add paragraph html tags
101
  $wrap_text = '';
102
+ if ( 'true' == strtolower($args['wrap']) ) {
103
  $wrap_text = '</p><p>';
104
  }
105
 
106
  // deploy some anti-spam measures
107
  $antispam_text = '';
108
+ if ( 'true' != strtolower($args['noantispam']) ) {
109
  $antispam_text = "<span style=\"display:none !important\">";
110
  $antispam_text .= "<label for=\"name\">Leave Blank:</label><input type=\"text\" id=\"name\" name=\"name\" />";
111
  $antispam_text .= "<label for=\"uri\">Do Not Change:</label><input type=\"text\" id=\"uri\" name=\"uri\" value=\"http://\" />";
113
  }
114
 
115
  // build default form
116
+ if ( 'true' == strtolower($args['nojs']) ) {
117
+ $this->form = "<form method=\"post\"" . $action . "><input type=\"hidden\" name=\"ip\" value=\"" . $_SERVER['REMOTE_ADDR'] . "\" />" . $antispam_text . "<p><label for=\"s2email\">" . __('Your email:', 'subscribe2') . "</label><br /><input type=\"text\" name=\"email\" id=\"s2email\" value=\"" . $value . "\" size=\"" . $args['size'] . "\" />" . $wrap_text . $this->input_form_action . "</p></form>";
118
  } else {
119
+ $this->form = "<form method=\"post\"" . $action . "><input type=\"hidden\" name=\"ip\" value=\"" . $_SERVER['REMOTE_ADDR'] . "\" />" . $antispam_text . "<p><label for=\"s2email\">" . __('Your email:', 'subscribe2') . "</label><br /><input type=\"text\" name=\"email\" id=\"s2email\" value=\"" . $value . "\" size=\"" . $args['size'] . "\" onfocus=\"if (this.value == '" . $value . "') {this.value = '';}\" onblur=\"if (this.value == '') {this.value = '" . $value . "';}\" />" . $wrap_text . $this->input_form_action . "</p></form>\r\n";
 
 
 
 
120
  }
121
  $this->s2form = apply_filters('s2_form', $this->form);
122
 
127
  }
128
 
129
  if ( isset($_POST['subscribe']) || isset($_POST['unsubscribe']) ) {
130
+ // anti spam sign up measure
131
+ if ( ( isset($_POST['name']) && '' != $_POST['name'] ) || ( isset($_POST['uri']) && 'http://' != $_POST['uri'] ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  // looks like some invisible-to-user fields were changed; falsely report success
133
  return $this->confirmation_sent;
134
  }
135
+ global $wpdb;
136
+ $this->email = $this->sanitize_email($_POST['email']);
137
  if ( !is_email($this->email) ) {
138
  $this->s2form = $this->form . $this->not_an_email;
139
  } elseif ( $this->is_barred($this->email) ) {
classes/class-s2-list-table.php CHANGED
@@ -105,10 +105,16 @@ class Subscribe2_List_Table extends WP_List_Table {
105
  }
106
 
107
  function pagination( $which ) {
108
- if ( empty( $this->_pagination_args ) )
109
  return;
 
110
 
111
- extract( $this->_pagination_args, EXTR_SKIP );
 
 
 
 
 
112
 
113
  $output = '<span class="displaying-num">' . sprintf( _n( '1 item', '%s items', $total_items, 'subscribe2' ), number_format_i18n( $total_items ) ) . '</span>';
114
 
@@ -139,10 +145,12 @@ class Subscribe2_List_Table extends WP_List_Table {
139
  $page_links = array();
140
 
141
  $disable_first = $disable_last = '';
142
- if ( $current == 1 )
143
  $disable_first = ' disabled';
144
- if ( $current == $total_pages )
 
145
  $disable_last = ' disabled';
 
146
 
147
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
148
  'first-page' . $disable_first,
@@ -158,14 +166,15 @@ class Subscribe2_List_Table extends WP_List_Table {
158
  '&lsaquo;'
159
  );
160
 
161
- if ( 'bottom' == $which )
162
  $html_current_page = $current;
163
- else
164
  $html_current_page = sprintf( "<input class='current-page' title='%s' type='text' name='paged' value='%s' size='%d' />",
165
  esc_attr__('Current page', 'subscribe2'),
166
  $current,
167
  strlen( $total_pages )
168
  );
 
169
 
170
  $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
171
  $page_links[] = '<span class="paging-input">' . sprintf( _x('%1$s of %2$s', 'paging', 'subscribe2'), $html_current_page, $html_total_pages ) . '</span>';
@@ -185,14 +194,16 @@ class Subscribe2_List_Table extends WP_List_Table {
185
  );
186
 
187
  $pagination_links_class = 'pagination-links';
188
- if ( ! empty( $infinite_scroll ) )
189
  $pagination_links_class = ' hide-if-js';
 
190
  $output .= "\n<span class='$pagination_links_class'>" . join( "\n", $page_links ) . '</span>';
191
 
192
- if ( $total_pages )
193
  $page_class = $total_pages < 2 ? ' one-page' : '';
194
- else
195
  $page_class = ' no-pages';
 
196
 
197
  $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>";
198
 
105
  }
106
 
107
  function pagination( $which ) {
108
+ if ( empty( $this->_pagination_args ) ) {
109
  return;
110
+ }
111
 
112
+ $total_items = $this->_pagination_args['total_items'];
113
+ $total_pages = $this->_pagination_args['total_pages'];
114
+ $infinite_scroll = false;
115
+ if ( isset( $this->_pagination_args['infinite_scroll'] ) ) {
116
+ $infinite_scroll = $this->_pagination_args['infinite_scroll'];
117
+ }
118
 
119
  $output = '<span class="displaying-num">' . sprintf( _n( '1 item', '%s items', $total_items, 'subscribe2' ), number_format_i18n( $total_items ) ) . '</span>';
120
 
145
  $page_links = array();
146
 
147
  $disable_first = $disable_last = '';
148
+ if ( $current == 1 ) {
149
  $disable_first = ' disabled';
150
+ }
151
+ if ( $current == $total_pages ) {
152
  $disable_last = ' disabled';
153
+ }
154
 
155
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
156
  'first-page' . $disable_first,
166
  '&lsaquo;'
167
  );
168
 
169
+ if ( 'bottom' == $which ) {
170
  $html_current_page = $current;
171
+ } else {
172
  $html_current_page = sprintf( "<input class='current-page' title='%s' type='text' name='paged' value='%s' size='%d' />",
173
  esc_attr__('Current page', 'subscribe2'),
174
  $current,
175
  strlen( $total_pages )
176
  );
177
+ }
178
 
179
  $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
180
  $page_links[] = '<span class="paging-input">' . sprintf( _x('%1$s of %2$s', 'paging', 'subscribe2'), $html_current_page, $html_total_pages ) . '</span>';
194
  );
195
 
196
  $pagination_links_class = 'pagination-links';
197
+ if ( ! empty( $infinite_scroll ) ) {
198
  $pagination_links_class = ' hide-if-js';
199
+ }
200
  $output .= "\n<span class='$pagination_links_class'>" . join( "\n", $page_links ) . '</span>';
201
 
202
+ if ( $total_pages ) {
203
  $page_class = $total_pages < 2 ? ' one-page' : '';
204
+ } else {
205
  $page_class = ' no-pages';
206
+ }
207
 
208
  $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>";
209
 
classes/class-s2-upgrade.php CHANGED
@@ -341,12 +341,12 @@ class s2class_upgrade {
341
  maybe_add_column($mysubscribe2->public, 'time', "ALTER TABLE $mysubscribe2->public ADD time TIME DEFAULT '00:00:00' NOT NULL AFTER date");
342
  } // end upgrade88()
343
 
344
- function upgrade100() {
345
  global $mysubscribe2;
346
  if ( $mysubscribe2->subscribe2_options['email_freq'] != 'never' ) {
347
  $mysubscribe2->subscribe2_options['last_s2cron'] = '';
348
  unset($mysubscribe2->subscribe2_options['previous_s2cron']);
349
  }
350
- } // end upgrade100()
351
  }
352
  ?>
341
  maybe_add_column($mysubscribe2->public, 'time', "ALTER TABLE $mysubscribe2->public ADD time TIME DEFAULT '00:00:00' NOT NULL AFTER date");
342
  } // end upgrade88()
343
 
344
+ function upgrade95() {
345
  global $mysubscribe2;
346
  if ( $mysubscribe2->subscribe2_options['email_freq'] != 'never' ) {
347
  $mysubscribe2->subscribe2_options['last_s2cron'] = '';
348
  unset($mysubscribe2->subscribe2_options['previous_s2cron']);
349
  }
350
+ } // end upgrade95()
351
  }
352
  ?>
include/counterwidget.php CHANGED
@@ -13,8 +13,6 @@ class S2_Counter_widget extends WP_Widget {
13
  Displays the Widget
14
  */
15
  function widget($args, $instance) {
16
- extract($args);
17
-
18
  $title = empty($instance['title']) ? 'Subscriber Count' : $instance['title'];
19
  $s2w_bg = empty($instance['s2w_bg']) ? '#e3dacf' : $instance['s2w_bg'];
20
  $s2w_fg = empty($instance['s2w_fg']) ? '#345797' : $instance['s2w_fg'];
@@ -22,8 +20,10 @@ class S2_Counter_widget extends WP_Widget {
22
  $s2w_height = empty($instance['s2w_height']) ? '16' : $instance['s2w_height'];
23
  $s2w_font = empty($instance['s2w_font']) ? '11' : $instance['s2w_font'];
24
 
25
- echo $before_widget;
26
- echo $before_title . $title . $after_title;
 
 
27
  global $mysubscribe2;
28
  $registered = $mysubscribe2->get_registered();
29
  $confirmed = $mysubscribe2->get_public();
@@ -31,7 +31,7 @@ class S2_Counter_widget extends WP_Widget {
31
  echo "<ul><div style=\"text-align:center; background-color:" . $s2w_bg . "; color:" . $s2w_fg . "; width:" . $s2w_width . "px; height:" . $s2w_height . "px; font:" . $s2w_font . "pt Verdana, Arial, Helvetica, sans-serif; vertical-align:middle; padding:3px; border:1px solid #444;\">";
32
  echo $count;
33
  echo "</div></ul>";
34
- echo $after_widget;
35
  }
36
 
37
  /**
13
  Displays the Widget
14
  */
15
  function widget($args, $instance) {
 
 
16
  $title = empty($instance['title']) ? 'Subscriber Count' : $instance['title'];
17
  $s2w_bg = empty($instance['s2w_bg']) ? '#e3dacf' : $instance['s2w_bg'];
18
  $s2w_fg = empty($instance['s2w_fg']) ? '#345797' : $instance['s2w_fg'];
20
  $s2w_height = empty($instance['s2w_height']) ? '16' : $instance['s2w_height'];
21
  $s2w_font = empty($instance['s2w_font']) ? '11' : $instance['s2w_font'];
22
 
23
+ echo $args['before_widget'];
24
+ if ( !empty($title) ) {
25
+ echo $args['before_title'] . $title . $args['after_title'];
26
+ }
27
  global $mysubscribe2;
28
  $registered = $mysubscribe2->get_registered();
29
  $confirmed = $mysubscribe2->get_public();
31
  echo "<ul><div style=\"text-align:center; background-color:" . $s2w_bg . "; color:" . $s2w_fg . "; width:" . $s2w_width . "px; height:" . $s2w_height . "px; font:" . $s2w_font . "pt Verdana, Arial, Helvetica, sans-serif; vertical-align:middle; padding:3px; border:1px solid #444;\">";
32
  echo $count;
33
  echo "</div></ul>";
34
+ echo $args['after_widget'];
35
  }
36
 
37
  /**
include/widget.php CHANGED
@@ -13,7 +13,6 @@ class S2_Form_widget extends WP_Widget {
13
  Displays the Widget
14
  */
15
  function widget($args, $instance) {
16
- extract($args);
17
  $title = empty($instance['title']) ? __('Subscribe2', 'subscribe2') : $instance['title'];
18
  $div = empty($instance['div']) ? 'search' : $instance['div'];
19
  $widgetprecontent = empty($instance['widgetprecontent']) ? '' : $instance['widgetprecontent'];
@@ -23,6 +22,7 @@ class S2_Form_widget extends WP_Widget {
23
  $postto = empty($instance['postto']) ? '' : $instance['postto'];
24
  $js = empty($instance['js']) ? '' : $instance['js'];
25
  $noantispam = empty($instance['noantispam']) ? '' : $instance['noantispam'];
 
26
  $hide = '';
27
  if ( $hidebutton == 'subscribe' || $hidebutton == 'unsubscribe' ) {
28
  $hide = " hide=\"" . $hidebutton . "\"";
@@ -41,9 +41,14 @@ class S2_Form_widget extends WP_Widget {
41
  if ( $noantispam ) {
42
  $noantispam = " noantispam=\"true\"";
43
  }
44
- $shortcode = "[subscribe2" . $hide . $postid . $size . $nojs . $noantispam . "]";
45
- echo $before_widget;
46
- echo $before_title . $title . $after_title;
 
 
 
 
 
47
  echo "<div class=\"" . $div . "\">";
48
  $content = do_shortcode( $shortcode );
49
  if ( !empty($widgetprecontent) ) {
@@ -54,7 +59,7 @@ class S2_Form_widget extends WP_Widget {
54
  echo $widgetpostcontent;
55
  }
56
  echo "</div>";
57
- echo $after_widget;
58
  }
59
 
60
  /**
@@ -71,6 +76,7 @@ class S2_Form_widget extends WP_Widget {
71
  $instance['postto'] = stripslashes($new_instance['postto']);
72
  $instance['js'] = stripslashes($new_instance['js']);
73
  $instance['noantispam'] = stripslashes($new_instance['noantispam']);
 
74
 
75
  return $instance;
76
  }
@@ -82,9 +88,9 @@ class S2_Form_widget extends WP_Widget {
82
  // set some defaults, getting any old options first
83
  $options = get_option('widget_subscribe2widget');
84
  if ( $options === false ) {
85
- $defaults = array('title' => 'Subscribe2', 'div' => 'search', 'widgetprecontent' => '', 'widgetpostcontent' => '', 'size' => 20, 'hidebutton' => 'none', 'postto' => '', 'js' => '', 'noantispam' => '');
86
  } else {
87
- $defaults = array('title' => $options['title'], 'div' => $options['div'], 'widgetprecontent' => $options['widgetprecontent'], 'widgetpostcontent' => $options['widgetpostcontent'], 'size' => $options['size'], 'hidebutton' => $options['hidebutton'], 'postto' => $options['postto'], 'js' => $options['js'], 'noantispam' => $options['noantispam']);
88
  delete_option('widget_subscribe2widget');
89
  }
90
  // code to obtain old settings too
@@ -99,6 +105,7 @@ class S2_Form_widget extends WP_Widget {
99
  $postto = htmlspecialchars($instance['postto'], ENT_QUOTES);
100
  $js = htmlspecialchars($instance['js'], ENT_QUOTES);
101
  $noantispam = htmlspecialchars($instance['noantispam'], ENT_QUOTES);
 
102
 
103
  global $wpdb, $mysubscribe2;
104
  $sql = "SELECT ID, post_title FROM $wpdb->posts WHERE post_type='page' AND post_status='publish'";
@@ -139,6 +146,9 @@ class S2_Form_widget extends WP_Widget {
139
  echo "<p><label for=\"" . $this->get_field_id('noantispam') . "\">" . __('Disable Anti-spam measures', 'subscribe2') . ":\r\n";
140
  echo "<input id=\"" . $this->get_field_id('noantispam') . "\" name =\"" . $this->get_field_name('noantispam') . "\" value=\"true\" type=\"checkbox\"" . checked('true', $noantispam, false) . "/>";
141
  echo "</label></p>\r\n";
 
 
 
142
  echo "</div>\r\n";
143
  }
144
  } // End S2_Form_widget class
13
  Displays the Widget
14
  */
15
  function widget($args, $instance) {
 
16
  $title = empty($instance['title']) ? __('Subscribe2', 'subscribe2') : $instance['title'];
17
  $div = empty($instance['div']) ? 'search' : $instance['div'];
18
  $widgetprecontent = empty($instance['widgetprecontent']) ? '' : $instance['widgetprecontent'];
22
  $postto = empty($instance['postto']) ? '' : $instance['postto'];
23
  $js = empty($instance['js']) ? '' : $instance['js'];
24
  $noantispam = empty($instance['noantispam']) ? '' : $instance['noantispam'];
25
+ $nowrap = empty($instance['nowrap']) ? '' : $instance['nowrap'];
26
  $hide = '';
27
  if ( $hidebutton == 'subscribe' || $hidebutton == 'unsubscribe' ) {
28
  $hide = " hide=\"" . $hidebutton . "\"";
41
  if ( $noantispam ) {
42
  $noantispam = " noantispam=\"true\"";
43
  }
44
+ if ( $nowrap ) {
45
+ $nowrap = " wrap=\"false\"";
46
+ }
47
+ $shortcode = "[subscribe2" . $hide . $postid . $size . $nojs . $noantispam . $nowrap . "]";
48
+ echo $args['before_widget'];
49
+ if ( !empty($title) ) {
50
+ echo $args['before_title'] . $title . $args['after_title'];
51
+ }
52
  echo "<div class=\"" . $div . "\">";
53
  $content = do_shortcode( $shortcode );
54
  if ( !empty($widgetprecontent) ) {
59
  echo $widgetpostcontent;
60
  }
61
  echo "</div>";
62
+ echo $args['after_widget'];
63
  }
64
 
65
  /**
76
  $instance['postto'] = stripslashes($new_instance['postto']);
77
  $instance['js'] = stripslashes($new_instance['js']);
78
  $instance['noantispam'] = stripslashes($new_instance['noantispam']);
79
+ $instance['nowrap'] = stripslashes($new_instance['nowrap']);
80
 
81
  return $instance;
82
  }
88
  // set some defaults, getting any old options first
89
  $options = get_option('widget_subscribe2widget');
90
  if ( $options === false ) {
91
+ $defaults = array('title' => 'Subscribe2', 'div' => 'search', 'widgetprecontent' => '', 'widgetpostcontent' => '', 'size' => 20, 'hidebutton' => 'none', 'postto' => '', 'js' => '', 'noantispam' => '', 'nowrap' => '');
92
  } else {
93
+ $defaults = array('title' => $options['title'], 'div' => $options['div'], 'widgetprecontent' => $options['widgetprecontent'], 'widgetpostcontent' => $options['widgetpostcontent'], 'size' => $options['size'], 'hidebutton' => $options['hidebutton'], 'postto' => $options['postto'], 'js' => $options['js'], 'noantispam' => $options['noantispam'], 'nowrap' => $options['nowrap']);
94
  delete_option('widget_subscribe2widget');
95
  }
96
  // code to obtain old settings too
105
  $postto = htmlspecialchars($instance['postto'], ENT_QUOTES);
106
  $js = htmlspecialchars($instance['js'], ENT_QUOTES);
107
  $noantispam = htmlspecialchars($instance['noantispam'], ENT_QUOTES);
108
+ $nowrap = htmlspecialchars($instance['nowrap'], ENT_QUOTES);
109
 
110
  global $wpdb, $mysubscribe2;
111
  $sql = "SELECT ID, post_title FROM $wpdb->posts WHERE post_type='page' AND post_status='publish'";
146
  echo "<p><label for=\"" . $this->get_field_id('noantispam') . "\">" . __('Disable Anti-spam measures', 'subscribe2') . ":\r\n";
147
  echo "<input id=\"" . $this->get_field_id('noantispam') . "\" name =\"" . $this->get_field_name('noantispam') . "\" value=\"true\" type=\"checkbox\"" . checked('true', $noantispam, false) . "/>";
148
  echo "</label></p>\r\n";
149
+ echo "<p><label for=\"" . $this->get_field_id('nowrap') . "\">" . __('Disable wrapping of form buttons', 'subscribe2') . ":\r\n";
150
+ echo "<input id=\"" . $this->get_field_id('nowrap') . "\" name =\"" . $this->get_field_name('nowrap') . "\" value=\"true\" type=\"checkbox\"" . checked('true', $nowrap, false) . "/>";
151
+ echo "</label></p>\r\n";
152
  echo "</div>\r\n";
153
  }
154
  } // End S2_Form_widget class
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: 10.0
7
  Author: Matthew Robinson
8
  Author URI: http://subscribe2.wordpress.com
9
  Licence: GPL3
@@ -42,7 +42,6 @@ if ( version_compare($GLOBALS['wp_version'], '3.3', '<') || !function_exists( 'a
42
  exit($exit_msg);
43
  }
44
 
45
-
46
  // stop Subscribe2 being activated site wide on Multisite installs
47
  if ( !function_exists( 'is_plugin_active_for_network' ) ) {
48
  require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
@@ -56,13 +55,10 @@ if ( is_plugin_active_for_network(plugin_basename(__FILE__)) ) {
56
 
57
  // our version number. Don't touch this or any line below
58
  // unless you know exactly what you are doing
59
- define( 'S2VERSION', '9.4' );
60
  define( 'S2PATH', trailingslashit(dirname(__FILE__)) );
61
  define( 'S2DIR', trailingslashit(dirname(plugin_basename(__FILE__))) );
62
  define( 'S2URL', plugin_dir_url(dirname(__FILE__)) . S2DIR );
63
- global $wpdb, $wp_version;
64
- define("WP_subscribe2_TABLE_APP", $wpdb->prefix . "subscribe2_app");
65
-
66
 
67
  // Set maximum execution time to 5 minutes - won't affect safe mode
68
  $safe_mode = array('On', 'ON', 'on', 1);
@@ -82,12 +78,9 @@ if ( is_admin() ) {
82
  $mysubscribe2 = new s2_frontend;
83
  $mysubscribe2->s2init();
84
  }
85
- function s2_install()
86
- {
87
- add_option('s2_do_activation_redirect', true);
88
 
 
 
89
  }
90
-
91
- register_activation_hook(__FILE__, 's2_install');
92
-
93
  ?>
3
  Plugin Name: Subscribe2
4
  Plugin URI: http://subscribe2.wordpress.com
5
  Description: Notifies an email list when new entries are posted.
6
+ Version: 10.1
7
  Author: Matthew Robinson
8
  Author URI: http://subscribe2.wordpress.com
9
  Licence: GPL3
42
  exit($exit_msg);
43
  }
44
 
 
45
  // stop Subscribe2 being activated site wide on Multisite installs
46
  if ( !function_exists( 'is_plugin_active_for_network' ) ) {
47
  require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
55
 
56
  // our version number. Don't touch this or any line below
57
  // unless you know exactly what you are doing
58
+ define( 'S2VERSION', '10.1' );
59
  define( 'S2PATH', trailingslashit(dirname(__FILE__)) );
60
  define( 'S2DIR', trailingslashit(dirname(plugin_basename(__FILE__))) );
61
  define( 'S2URL', plugin_dir_url(dirname(__FILE__)) . S2DIR );
 
 
 
62
 
63
  // Set maximum execution time to 5 minutes - won't affect safe mode
64
  $safe_mode = array('On', 'ON', 'on', 1);
78
  $mysubscribe2 = new s2_frontend;
79
  $mysubscribe2->s2init();
80
  }
 
 
 
81
 
82
+ function s2_install() {
83
+ add_option('s2_do_activation_redirect', true);
84
  }
85
+ //register_activation_hook(__FILE__, 's2_install');
 
 
86
  ?>
subscribe2.pot ADDED
@@ -0,0 +1,1513 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014 Subscribe2
2
+ # This file is distributed under the same license as the Subscribe2 package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Subscribe2 9.4\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/Subscribe2\n"
7
+ "POT-Creation-Date: 2014-04-21 20:27:19+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+
15
+ #: admin/send_email.php:71
16
+ msgid "Your email was empty"
17
+ msgstr ""
18
+
19
+ #: admin/send_email.php:78
20
+ msgid "Check your settings and check with your hosting provider"
21
+ msgstr ""
22
+
23
+ #: admin/send_email.php:83
24
+ msgid "Preview message sent!"
25
+ msgstr ""
26
+
27
+ #: admin/send_email.php:85
28
+ msgid "Message sent!"
29
+ msgstr ""
30
+
31
+ #: admin/send_email.php:89
32
+ msgid "Message failed!"
33
+ msgstr ""
34
+
35
+ #: admin/send_email.php:99
36
+ msgid "Send an email to subscribers"
37
+ msgstr ""
38
+
39
+ #: admin/send_email.php:107
40
+ msgid "A message from"
41
+ msgstr ""
42
+
43
+ #: admin/send_email.php:112
44
+ msgid "Subject"
45
+ msgstr ""
46
+
47
+ #: admin/send_email.php:115
48
+ msgid "Add More Files"
49
+ msgstr ""
50
+
51
+ #: admin/send_email.php:117
52
+ msgid "Recipients:"
53
+ msgstr ""
54
+
55
+ #: admin/send_email.php:120
56
+ msgid "Preview"
57
+ msgstr ""
58
+
59
+ #: admin/send_email.php:120
60
+ msgid "Send"
61
+ msgstr ""
62
+
63
+ #: admin/settings.php:13
64
+ msgid "Options reset!"
65
+ msgstr ""
66
+
67
+ #: admin/settings.php:24
68
+ msgid "Preview message(s) sent to logged in user"
69
+ msgstr ""
70
+
71
+ #: admin/settings.php:28
72
+ msgid ""
73
+ "The Digest Notification email contained no post information. No email was "
74
+ "sent"
75
+ msgstr ""
76
+
77
+ #: admin/settings.php:30
78
+ msgid "Attempt made to resend the Digest Notification email"
79
+ msgstr ""
80
+
81
+ #: admin/settings.php:111
82
+ msgid "Options saved!"
83
+ msgstr ""
84
+
85
+ #: admin/settings.php:120
86
+ msgid "You must create a WordPress page for this plugin to work correctly."
87
+ msgstr ""
88
+
89
+ #: admin/settings.php:135
90
+ msgid ""
91
+ "Your chosen email type (per-post or digest) does not support the following "
92
+ "keywords:"
93
+ msgstr ""
94
+
95
+ #: admin/settings.php:136
96
+ msgid "Modify your template"
97
+ msgstr ""
98
+
99
+ #: admin/settings.php:149
100
+ msgid ""
101
+ "You appear to be sending notifications from %1$s, which has a different "
102
+ "domain name than your blog server %2$s. This may result in failed emails."
103
+ msgstr ""
104
+
105
+ #: admin/settings.php:160 classes/class-s2-admin.php:81
106
+ msgid "Email Settings"
107
+ msgstr ""
108
+
109
+ #: admin/settings.php:161 classes/class-s2-admin.php:89
110
+ msgid "Templates"
111
+ msgstr ""
112
+
113
+ #: admin/settings.php:162 classes/class-s2-admin.php:96
114
+ msgid "Registered Users"
115
+ msgstr ""
116
+
117
+ #: admin/settings.php:163 classes/class-s2-admin.php:103
118
+ msgid "Appearance"
119
+ msgstr ""
120
+
121
+ #: admin/settings.php:164 classes/class-s2-admin.php:110
122
+ msgid "Miscellaneous"
123
+ msgstr ""
124
+
125
+ #: admin/settings.php:185
126
+ msgid ""
127
+ "Restrict the number of <strong>recipients per email</strong> to (0 for "
128
+ "unlimited)"
129
+ msgstr ""
130
+
131
+ #: admin/settings.php:187 admin/settings.php:424
132
+ #: classes/class-s2-admin.php:696 classes/class-s2-list-table.php:36
133
+ msgid "Edit"
134
+ msgstr ""
135
+
136
+ #: admin/settings.php:190 admin/settings.php:427
137
+ #: classes/class-s2-admin.php:710
138
+ msgid "Update"
139
+ msgstr ""
140
+
141
+ #: admin/settings.php:191 admin/settings.php:428
142
+ #: classes/class-s2-admin.php:711
143
+ msgid "Revert"
144
+ msgstr ""
145
+
146
+ #: admin/settings.php:193
147
+ msgid "Send Admins notifications for new"
148
+ msgstr ""
149
+
150
+ #: admin/settings.php:195
151
+ msgid "Subscriptions"
152
+ msgstr ""
153
+
154
+ #: admin/settings.php:197
155
+ msgid "Unsubscriptions"
156
+ msgstr ""
157
+
158
+ #: admin/settings.php:199
159
+ msgid "Both"
160
+ msgstr ""
161
+
162
+ #: admin/settings.php:201
163
+ msgid "Neither"
164
+ msgstr ""
165
+
166
+ #: admin/settings.php:203
167
+ msgid "Include theme CSS stylesheet in HTML notifications"
168
+ msgstr ""
169
+
170
+ #: admin/settings.php:205 admin/settings.php:211 admin/settings.php:225
171
+ #: admin/settings.php:230 admin/settings.php:235 admin/settings.php:356
172
+ #: admin/settings.php:361 admin/settings.php:375 admin/settings.php:382
173
+ #: admin/settings.php:396 admin/settings.php:402 admin/subscribers.php:297
174
+ #: admin/your_subscriptions.php:123 admin/your_subscriptions.php:164
175
+ msgid "Yes"
176
+ msgstr ""
177
+
178
+ #: admin/settings.php:207 admin/settings.php:213 admin/settings.php:227
179
+ #: admin/settings.php:232 admin/settings.php:237 admin/settings.php:353
180
+ #: admin/settings.php:358 admin/settings.php:363 admin/settings.php:377
181
+ #: admin/settings.php:384 admin/settings.php:393 admin/settings.php:398
182
+ #: admin/settings.php:404 admin/subscribers.php:299
183
+ #: admin/your_subscriptions.php:125 admin/your_subscriptions.php:168
184
+ msgid "No"
185
+ msgstr ""
186
+
187
+ #: admin/settings.php:209
188
+ msgid "Send Emails for Pages"
189
+ msgstr ""
190
+
191
+ #: admin/settings.php:217
192
+ msgid ""
193
+ "Subscribe2 will send email notifications for the following custom post types"
194
+ msgstr ""
195
+
196
+ #: admin/settings.php:223
197
+ msgid "Send Emails for Password Protected Posts"
198
+ msgstr ""
199
+
200
+ #: admin/settings.php:228
201
+ msgid "Send Emails for Private Posts"
202
+ msgstr ""
203
+
204
+ #: admin/settings.php:233
205
+ msgid "Include Sticky Posts at the top of all Digest Notifications"
206
+ msgstr ""
207
+
208
+ #: admin/settings.php:238
209
+ msgid "Send Email From"
210
+ msgstr ""
211
+
212
+ #: admin/settings.php:243
213
+ msgid "Send Emails"
214
+ msgstr ""
215
+
216
+ #: admin/settings.php:245
217
+ msgid "For digest notifications, date order for posts is"
218
+ msgstr ""
219
+
220
+ #: admin/settings.php:247
221
+ msgid "Descending"
222
+ msgstr ""
223
+
224
+ #: admin/settings.php:249
225
+ msgid "Ascending"
226
+ msgstr ""
227
+
228
+ #: admin/settings.php:251
229
+ msgid "Add Tracking Parameters to the Permalink"
230
+ msgstr ""
231
+
232
+ #: admin/settings.php:253
233
+ msgid ""
234
+ "eg. utm_source=subscribe2&amp;utm_medium=email&amp;"
235
+ "utm_campaign=postnotify&amp;utm_id={ID}&amp;utm_title={TITLE}"
236
+ msgstr ""
237
+
238
+ #: admin/settings.php:264
239
+ msgid "Notification email (must not be empty)"
240
+ msgstr ""
241
+
242
+ #: admin/settings.php:265 admin/settings.php:296 admin/settings.php:301
243
+ msgid "Subject Line"
244
+ msgstr ""
245
+
246
+ #: admin/settings.php:270
247
+ msgid "Send Email Preview"
248
+ msgstr ""
249
+
250
+ #: admin/settings.php:271
251
+ msgid "Message substitutions"
252
+ msgstr ""
253
+
254
+ #: admin/settings.php:273
255
+ msgid ""
256
+ "IF THE FOLLOWING KEYWORDS ARE ALSO IN YOUR POST THEY WILL BE SUBSTITUTED"
257
+ msgstr ""
258
+
259
+ #: admin/settings.php:276
260
+ msgid "the post's title<br />(<i>for per-post emails only</i>)"
261
+ msgstr ""
262
+
263
+ #: admin/settings.php:277
264
+ msgid ""
265
+ "the excerpt or the entire post<br />(<i>based on the subscriber's "
266
+ "preferences</i>)"
267
+ msgstr ""
268
+
269
+ #: admin/settings.php:278
270
+ msgid ""
271
+ "the excerpt of the post and the time it was posted<br />(<i>for digest "
272
+ "emails only</i>)"
273
+ msgstr ""
274
+
275
+ #: admin/settings.php:279
276
+ msgid "a list of post titles<br />(<i>for digest emails only</i>)"
277
+ msgstr ""
278
+
279
+ #: admin/settings.php:280
280
+ msgid ""
281
+ "a list of post titles followed by links to the articles<br />(<i>for digest "
282
+ "emails only</i>)"
283
+ msgstr ""
284
+
285
+ #: admin/settings.php:281
286
+ msgid ""
287
+ "a reference style list of links at the end of the email with corresponding "
288
+ "numbers in the content<br />(<i>for the full content plain text per-post "
289
+ "email only</i>)"
290
+ msgstr ""
291
+
292
+ #: admin/settings.php:282
293
+ msgid "the post's permalink<br />(<i>for per-post emails only</i>)"
294
+ msgstr ""
295
+
296
+ #: admin/settings.php:283
297
+ msgid "the post's permalink after conversion by TinyURL"
298
+ msgstr ""
299
+
300
+ #: admin/settings.php:284
301
+ msgid "the date the post was made<br />(<i>for per-post emails only</i>)"
302
+ msgstr ""
303
+
304
+ #: admin/settings.php:285
305
+ msgid "the time the post was made<br />(<i>for per-post emails only</i>)"
306
+ msgstr ""
307
+
308
+ #: admin/settings.php:286
309
+ msgid "the admin or post author's name"
310
+ msgstr ""
311
+
312
+ #: admin/settings.php:287
313
+ msgid "the admin or post author's email"
314
+ msgstr ""
315
+
316
+ #: admin/settings.php:288
317
+ msgid "the post author's name"
318
+ msgstr ""
319
+
320
+ #: admin/settings.php:289
321
+ msgid ""
322
+ "the generated link to confirm a request<br />(<i>only used in the "
323
+ "confirmation email template</i>)"
324
+ msgstr ""
325
+
326
+ #: admin/settings.php:290
327
+ msgid ""
328
+ "Action performed by LINK in confirmation email<br />(<i>only used in the "
329
+ "confirmation email template</i>)"
330
+ msgstr ""
331
+
332
+ #: admin/settings.php:291
333
+ msgid "the post's assigned categories"
334
+ msgstr ""
335
+
336
+ #: admin/settings.php:292
337
+ msgid "the post's assigned Tags"
338
+ msgstr ""
339
+
340
+ #: admin/settings.php:293
341
+ msgid ""
342
+ "the number of posts included in the digest email<br />(<i>for digest emails "
343
+ "only</i>)"
344
+ msgstr ""
345
+
346
+ #: admin/settings.php:295
347
+ msgid "Subscribe / Unsubscribe confirmation email"
348
+ msgstr ""
349
+
350
+ #: admin/settings.php:300
351
+ msgid "Reminder email to Unconfirmed Subscribers"
352
+ msgstr ""
353
+
354
+ #: admin/settings.php:312
355
+ msgid "Compulsory Categories"
356
+ msgstr ""
357
+
358
+ #: admin/settings.php:314
359
+ msgid ""
360
+ "Compulsory categories will be checked by default for Registered Subscribers"
361
+ msgstr ""
362
+
363
+ #: admin/settings.php:321
364
+ msgid "Excluded Categories"
365
+ msgstr ""
366
+
367
+ #: admin/settings.php:323
368
+ msgid ""
369
+ "Posts assigned to any Excluded Category do not generate notifications and "
370
+ "are not included in digest notifications"
371
+ msgstr ""
372
+
373
+ #: admin/settings.php:327
374
+ msgid "Allow registered users to subscribe to excluded categories?"
375
+ msgstr ""
376
+
377
+ #: admin/settings.php:335
378
+ msgid "Excluded Formats"
379
+ msgstr ""
380
+
381
+ #: admin/settings.php:337
382
+ msgid ""
383
+ "Posts assigned to any Excluded Format do not generate notifications and are "
384
+ "not included in digest notifications"
385
+ msgstr ""
386
+
387
+ #: admin/settings.php:345
388
+ msgid "Auto-Subscribe"
389
+ msgstr ""
390
+
391
+ #: admin/settings.php:347
392
+ msgid "Subscribe new users registering with your blog"
393
+ msgstr ""
394
+
395
+ #: admin/settings.php:349
396
+ msgid "Automatically"
397
+ msgstr ""
398
+
399
+ #: admin/settings.php:351
400
+ msgid "Display option on Registration Form"
401
+ msgstr ""
402
+
403
+ #: admin/settings.php:354
404
+ msgid "Auto-subscribe includes any excluded categories"
405
+ msgstr ""
406
+
407
+ #: admin/settings.php:359
408
+ msgid "Registration Form option is checked by default"
409
+ msgstr ""
410
+
411
+ #: admin/settings.php:364
412
+ msgid "Auto-subscribe users to receive email as"
413
+ msgstr ""
414
+
415
+ #: admin/settings.php:366 admin/subscribers.php:283
416
+ #: admin/your_subscriptions.php:112
417
+ msgid "HTML - Full"
418
+ msgstr ""
419
+
420
+ #: admin/settings.php:368 admin/subscribers.php:284
421
+ #: admin/your_subscriptions.php:114
422
+ msgid "HTML - Excerpt"
423
+ msgstr ""
424
+
425
+ #: admin/settings.php:370 admin/subscribers.php:285
426
+ #: admin/your_subscriptions.php:116
427
+ msgid "Plain Text - Full"
428
+ msgstr ""
429
+
430
+ #: admin/settings.php:372 admin/subscribers.php:286
431
+ #: admin/your_subscriptions.php:118
432
+ msgid "Plain Text - Excerpt"
433
+ msgstr ""
434
+
435
+ #: admin/settings.php:373
436
+ msgid "Registered Users have the option to auto-subscribe to new categories"
437
+ msgstr ""
438
+
439
+ #: admin/settings.php:379
440
+ msgid "New categories are immediately excluded"
441
+ msgstr ""
442
+
443
+ #: admin/settings.php:380
444
+ msgid ""
445
+ "Option for Registered Users to auto-subscribe to new categories is checked "
446
+ "by default"
447
+ msgstr ""
448
+
449
+ #: admin/settings.php:387
450
+ msgid "Display checkbox to allow subscriptions from the comment form"
451
+ msgstr ""
452
+
453
+ #: admin/settings.php:389
454
+ msgid "Before the Comment Submit button"
455
+ msgstr ""
456
+
457
+ #: admin/settings.php:391
458
+ msgid "After the Comment Submit button"
459
+ msgstr ""
460
+
461
+ #: admin/settings.php:394
462
+ msgid "Comment form checkbox is checked by default"
463
+ msgstr ""
464
+
465
+ #: admin/settings.php:400
466
+ msgid "Show one-click subscription on profile page"
467
+ msgstr ""
468
+
469
+ #: admin/settings.php:415
470
+ msgid "Set default Subscribe2 page as"
471
+ msgstr ""
472
+
473
+ #: admin/settings.php:417
474
+ msgid "Select a page"
475
+ msgstr ""
476
+
477
+ #: admin/settings.php:422
478
+ msgid "Set the number of Subscribers displayed per page"
479
+ msgstr ""
480
+
481
+ #: admin/settings.php:432
482
+ msgid "Show a link to your subscription page in \"meta\"?"
483
+ msgstr ""
484
+
485
+ #: admin/settings.php:436
486
+ msgid "Show the Subscribe2 button on the Write toolbar?"
487
+ msgstr ""
488
+
489
+ #: admin/settings.php:440
490
+ msgid "Enable AJAX style subscription form?"
491
+ msgstr ""
492
+
493
+ #: admin/settings.php:444
494
+ msgid "Enable Subscribe2 Widget?"
495
+ msgstr ""
496
+
497
+ #: admin/settings.php:448
498
+ msgid "Enable Subscribe2 Counter Widget?"
499
+ msgstr ""
500
+
501
+ #: admin/settings.php:452
502
+ msgid "Disable email notifications is checked by default on authoring pages?"
503
+ msgstr ""
504
+
505
+ #: admin/settings.php:460
506
+ msgid "Barred Domains"
507
+ msgstr ""
508
+
509
+ #: admin/settings.php:462
510
+ msgid ""
511
+ "Enter domains to bar from public subscriptions: <br /> (Use a new line for "
512
+ "each entry and omit the \"@\" symbol, for example email.com)"
513
+ msgstr ""
514
+
515
+ #: admin/settings.php:465
516
+ msgid "Links"
517
+ msgstr ""
518
+
519
+ #: admin/settings.php:466
520
+ msgid "Plugin Site"
521
+ msgstr ""
522
+
523
+ #: admin/settings.php:467 classes/class-s2-admin.php:162
524
+ msgid "Translation Files"
525
+ msgstr ""
526
+
527
+ #: admin/settings.php:468
528
+ msgid "Plugin Forum"
529
+ msgstr ""
530
+
531
+ #: admin/settings.php:469
532
+ msgid "Plugin Blog"
533
+ msgstr ""
534
+
535
+ #: admin/settings.php:470
536
+ msgid "Make a donation via PayPal"
537
+ msgstr ""
538
+
539
+ #: admin/settings.php:476
540
+ msgid "Submit"
541
+ msgstr ""
542
+
543
+ #: admin/settings.php:480
544
+ msgid "Reset to Default Settings"
545
+ msgstr ""
546
+
547
+ #: admin/settings.php:481
548
+ msgid ""
549
+ "Use this to reset all options to their defaults. This <strong><em>will not</"
550
+ "em></strong> modify your list of subscribers."
551
+ msgstr ""
552
+
553
+ #: admin/settings.php:483
554
+ msgid "RESET"
555
+ msgstr ""
556
+
557
+ #: admin/subscribers.php:31
558
+ msgid "Address(es) subscribed!"
559
+ msgstr ""
560
+
561
+ #: admin/subscribers.php:38
562
+ msgid "Address(es) unsubscribed!"
563
+ msgstr ""
564
+
565
+ #: admin/subscribers.php:42
566
+ msgid ""
567
+ "Some emails were not processed, the following are already Registered "
568
+ "Subscribers"
569
+ msgstr ""
570
+
571
+ #: admin/subscribers.php:45
572
+ msgid ""
573
+ "Some emails were not processed, the following are already Public Subscribers"
574
+ msgstr ""
575
+
576
+ #: admin/subscribers.php:48
577
+ msgid "Some emails were not processed, the following were not in the database"
578
+ msgstr ""
579
+
580
+ #: admin/subscribers.php:59
581
+ msgid "Address(es) deleted!"
582
+ msgstr ""
583
+
584
+ #: admin/subscribers.php:67
585
+ msgid "Delete failed! You cannot delete some or all of these users"
586
+ msgstr ""
587
+
588
+ #: admin/subscribers.php:70
589
+ msgid "User(s) deleted! Any posts made by these users were assigned to you"
590
+ msgstr ""
591
+
592
+ #: admin/subscribers.php:82
593
+ msgid "Status changed!"
594
+ msgstr ""
595
+
596
+ #: admin/subscribers.php:85
597
+ msgid "Reminder Email(s) Sent!"
598
+ msgstr ""
599
+
600
+ #: admin/subscribers.php:88
601
+ msgid "Registered Users Subscribed!"
602
+ msgstr ""
603
+
604
+ #: admin/subscribers.php:91
605
+ msgid "Registered Users Unsubscribed!"
606
+ msgstr ""
607
+
608
+ #: admin/subscribers.php:94
609
+ msgid "Format updated for Selected Registered Users!"
610
+ msgstr ""
611
+
612
+ #: admin/subscribers.php:97
613
+ msgid "Digest Subscription updated for Selected Registered Users!"
614
+ msgstr ""
615
+
616
+ #: admin/subscribers.php:186 classes/class-s2-admin.php:60
617
+ #: classes/class-s2-admin.php:542
618
+ msgid "Public Subscribers"
619
+ msgstr ""
620
+
621
+ #: admin/subscribers.php:186 classes/class-s2-admin.php:65
622
+ #: classes/class-s2-admin.php:546
623
+ msgid "Registered Subscribers"
624
+ msgstr ""
625
+
626
+ #: admin/subscribers.php:198 admin/subscribers.php:220
627
+ msgid "Add/Remove Subscribers"
628
+ msgstr ""
629
+
630
+ #: admin/subscribers.php:199
631
+ msgid "Enter addresses, one per line or comma-separated"
632
+ msgstr ""
633
+
634
+ #: admin/subscribers.php:202 admin/subscribers.php:274
635
+ #: admin/your_subscriptions.php:263 classes/class-s2-frontend.php:67
636
+ msgid "Subscribe"
637
+ msgstr ""
638
+
639
+ #: admin/subscribers.php:203 admin/subscribers.php:275
640
+ #: admin/your_subscriptions.php:242 classes/class-s2-frontend.php:66
641
+ msgid "Unsubscribe"
642
+ msgstr ""
643
+
644
+ #: admin/subscribers.php:208 admin/subscribers.php:227
645
+ msgid "Current Subscribers"
646
+ msgstr ""
647
+
648
+ #: admin/subscribers.php:221
649
+ msgid "Add Registered User"
650
+ msgstr ""
651
+
652
+ #: admin/subscribers.php:236
653
+ msgid "Filter"
654
+ msgstr ""
655
+
656
+ #: admin/subscribers.php:240
657
+ msgid "Send Reminder Email"
658
+ msgstr ""
659
+
660
+ #: admin/subscribers.php:247
661
+ msgid "Save Emails to CSV File"
662
+ msgstr ""
663
+
664
+ #: admin/subscribers.php:254
665
+ msgid "Search"
666
+ msgstr ""
667
+
668
+ #: admin/subscribers.php:261
669
+ msgid "Bulk Management"
670
+ msgstr ""
671
+
672
+ #: admin/subscribers.php:271 admin/subscribers.php:293
673
+ msgid ""
674
+ "Preferences for Registered Users selected in the filter above can be changed "
675
+ "using this section."
676
+ msgstr ""
677
+
678
+ #: admin/subscribers.php:272 admin/subscribers.php:294
679
+ msgid "Consider User Privacy as changes cannot be undone"
680
+ msgstr ""
681
+
682
+ #: admin/subscribers.php:273
683
+ msgid "Action to perform"
684
+ msgstr ""
685
+
686
+ #: admin/subscribers.php:281
687
+ msgid "Bulk Update Categories"
688
+ msgstr ""
689
+
690
+ #: admin/subscribers.php:282
691
+ msgid "Send email as"
692
+ msgstr ""
693
+
694
+ #: admin/subscribers.php:287
695
+ msgid "Bulk Update Format"
696
+ msgstr ""
697
+
698
+ #: admin/subscribers.php:295
699
+ msgid "Subscribe Selected Users to receive a periodic digest notification"
700
+ msgstr ""
701
+
702
+ #: admin/subscribers.php:300
703
+ msgid "Bulk Update Digest Subscription"
704
+ msgstr ""
705
+
706
+ #: admin/subscribers.php:314
707
+ msgid "You are about to delete user account(s). Are you sure?"
708
+ msgstr ""
709
+
710
+ #: admin/your_subscriptions.php:90
711
+ msgid "Subscription preferences updated."
712
+ msgstr ""
713
+
714
+ #: admin/your_subscriptions.php:98
715
+ msgid "Notification Settings"
716
+ msgstr ""
717
+
718
+ #: admin/your_subscriptions.php:101
719
+ msgid "Editing Subscribe2 preferences for user"
720
+ msgstr ""
721
+
722
+ #: admin/your_subscriptions.php:110
723
+ msgid "Receive email as"
724
+ msgstr ""
725
+
726
+ #: admin/your_subscriptions.php:121
727
+ msgid "Automatically subscribe me to newly created categories"
728
+ msgstr ""
729
+
730
+ #: admin/your_subscriptions.php:131
731
+ msgid "One Click Subscription / Unsubscription"
732
+ msgstr ""
733
+
734
+ #: admin/your_subscriptions.php:132
735
+ msgid "Subscribe to All"
736
+ msgstr ""
737
+
738
+ #: admin/your_subscriptions.php:133
739
+ msgid "Unsubscribe from All"
740
+ msgstr ""
741
+
742
+ #: admin/your_subscriptions.php:143
743
+ msgid "Unsubscribe me from this blog"
744
+ msgstr ""
745
+
746
+ #: admin/your_subscriptions.php:147
747
+ msgid "Subscribe to all categories"
748
+ msgstr ""
749
+
750
+ #: admin/your_subscriptions.php:149
751
+ msgid "Subscribed Categories on"
752
+ msgstr ""
753
+
754
+ #: admin/your_subscriptions.php:151
755
+ msgid "Subscribed Categories"
756
+ msgstr ""
757
+
758
+ #: admin/your_subscriptions.php:158
759
+ msgid "Receive periodic summaries of new posts?"
760
+ msgstr ""
761
+
762
+ #: admin/your_subscriptions.php:174
763
+ msgid "Do not send notifications for post made by these authors"
764
+ msgstr ""
765
+
766
+ #: admin/your_subscriptions.php:180
767
+ msgid "Update Preferences"
768
+ msgstr ""
769
+
770
+ #: admin/your_subscriptions.php:231
771
+ msgid "Subscribed Blogs"
772
+ msgstr ""
773
+
774
+ #: admin/your_subscriptions.php:236 admin/your_subscriptions.php:257
775
+ msgid "Viewing Settings Now"
776
+ msgstr ""
777
+
778
+ #: admin/your_subscriptions.php:240 admin/your_subscriptions.php:261
779
+ msgid "View Settings"
780
+ msgstr ""
781
+
782
+ #: admin/your_subscriptions.php:252
783
+ msgid "Subscribe to new blogs"
784
+ msgstr ""
785
+
786
+ #. #-#-#-#-# Subscribe2.pot (Subscribe2 9.4) #-#-#-#-#
787
+ #. Plugin Name of the plugin/theme
788
+ #: classes/class-s2-admin.php:8 include/widget.php:17
789
+ msgid "Subscribe2"
790
+ msgstr ""
791
+
792
+ #: classes/class-s2-admin.php:10
793
+ msgid "Your Subscriptions"
794
+ msgstr ""
795
+
796
+ #: classes/class-s2-admin.php:15
797
+ msgid "Subscribers"
798
+ msgstr ""
799
+
800
+ #: classes/class-s2-admin.php:19 classes/class-s2-admin.php:161
801
+ msgid "Settings"
802
+ msgstr ""
803
+
804
+ #: classes/class-s2-admin.php:25
805
+ msgid "Send Email"
806
+ msgstr ""
807
+
808
+ #: classes/class-s2-admin.php:39 classes/class-s2-admin.php:45
809
+ #: classes/class-s2-admin.php:55 classes/class-s2-admin.php:76
810
+ #: classes/class-s2-admin.php:121
811
+ msgid "Overview"
812
+ msgstr ""
813
+
814
+ #: classes/class-s2-admin.php:40
815
+ msgid ""
816
+ "From this page you can opt in or out of receiving a periodical digest style "
817
+ "email of blog posts."
818
+ msgstr ""
819
+
820
+ #: classes/class-s2-admin.php:46
821
+ msgid ""
822
+ "From this page you can control your subscription preferences. Choose the "
823
+ "email format you wish to receive, which categories you would like to receive "
824
+ "notification for and depending on the site settings which authors you would "
825
+ "like to read."
826
+ msgstr ""
827
+
828
+ #: classes/class-s2-admin.php:56
829
+ msgid "From this page you can manage your subscribers."
830
+ msgstr ""
831
+
832
+ #: classes/class-s2-admin.php:61
833
+ msgid ""
834
+ "Public Subscribers are subscribers who have used the plugin form and only "
835
+ "provided their email address."
836
+ msgstr ""
837
+
838
+ #: classes/class-s2-admin.php:61
839
+ msgid ""
840
+ "On this page public subscribers can be viewed, searched, deleted and also "
841
+ "toggled between Confirmed and Unconfirmed status."
842
+ msgstr ""
843
+
844
+ #: classes/class-s2-admin.php:66
845
+ msgid ""
846
+ "Registered Subscribers are subscribers who have registered in WordPress and "
847
+ "have a username and password."
848
+ msgstr ""
849
+
850
+ #: classes/class-s2-admin.php:67
851
+ msgid ""
852
+ "Registered Subscribers have greater personal control over their "
853
+ "subscription. They can change the format of the email and also select which "
854
+ "categories and authors they want to receive notifications about."
855
+ msgstr ""
856
+
857
+ #: classes/class-s2-admin.php:68
858
+ msgid ""
859
+ "On this page registered subscribers can be viewed and searched. User "
860
+ "accounts can be deleted from here with any posts created by those users "
861
+ "being assigned to the currently logged in user. Bulk changes can be applied "
862
+ "to all user settings changing their subscription email format and categories."
863
+ msgstr ""
864
+
865
+ #: classes/class-s2-admin.php:77
866
+ msgid "From this page you can adjust the Settings for Subscribe2."
867
+ msgstr ""
868
+
869
+ #: classes/class-s2-admin.php:82
870
+ msgid ""
871
+ "This section allows you to specify settings that apply to the emails "
872
+ "generated by the site."
873
+ msgstr ""
874
+
875
+ #: classes/class-s2-admin.php:83
876
+ msgid ""
877
+ "Emails can be sent to individual subscribers by setting the number of "
878
+ "recipients per email to 1. A setting greater than one will group recipients "
879
+ "together and make use of the BCC emails header. A setting of 0 sends a "
880
+ "single email with all subscribers in one large BCC group. A setting of 1 "
881
+ "looks less like spam email to filters but takes longer to process."
882
+ msgstr ""
883
+
884
+ #: classes/class-s2-admin.php:84
885
+ msgid ""
886
+ "This section is also where the sender of the email on this page is chosen. "
887
+ "You can choose Post Author or your Blogname but it is recommended to create "
888
+ "a user account with an email address that really exists and shares the same "
889
+ "domain name as your site (the bit after the @ should be the same as your "
890
+ "sites web address) and then use this account."
891
+ msgstr ""
892
+
893
+ #: classes/class-s2-admin.php:85
894
+ msgid ""
895
+ "This page also configures the frequency of emails. This can be at the time "
896
+ "new posts are made (per post) or periodically with an excerpt of each post "
897
+ "made (digest). Additionally the post types (pages, private, password "
898
+ "protected) can also be configured here."
899
+ msgstr ""
900
+
901
+ #: classes/class-s2-admin.php:90
902
+ msgid ""
903
+ "This section allows you to customise the content of your notification emails."
904
+ msgstr ""
905
+
906
+ #: classes/class-s2-admin.php:91
907
+ msgid ""
908
+ "There are special {KEYWORDS} that are used by Subscribe2 to place content "
909
+ "into the final email. The template also accepts regular text and HTML as "
910
+ "desired in the final emails."
911
+ msgstr ""
912
+
913
+ #: classes/class-s2-admin.php:92
914
+ msgid ""
915
+ "The {KEYWORDS} are listed on the right of the templates, note that some are "
916
+ "for per post emails only and some are for digest emails only. Make sure the "
917
+ "correct keywords are used based upon the Email Settings."
918
+ msgstr ""
919
+
920
+ #: classes/class-s2-admin.php:97
921
+ msgid ""
922
+ "This section allows settings that apply to Registered Subscribers to be "
923
+ "configured."
924
+ msgstr ""
925
+
926
+ #: classes/class-s2-admin.php:98
927
+ msgid ""
928
+ "Categories can be made compulsory so emails are always sent for posts in "
929
+ "these categories. They can also be excludes so that emails are not "
930
+ "generated. Excluded categories take precedence over Compulsory categories."
931
+ msgstr ""
932
+
933
+ #: classes/class-s2-admin.php:99
934
+ msgid ""
935
+ "A set of default settings for new users can also be specified using the Auto "
936
+ "Subscribe section. Settings specified here will be applied to any newly "
937
+ "created user accounts while Subscribe2 is activated."
938
+ msgstr ""
939
+
940
+ #: classes/class-s2-admin.php:104
941
+ msgid ""
942
+ "This section allows you to enable several aspect of the plugin such as "
943
+ "Widgets and editor buttons."
944
+ msgstr ""
945
+
946
+ #: classes/class-s2-admin.php:105
947
+ msgid ""
948
+ "AJAX mode can be enabled that is intended to work with the shortcode link "
949
+ "parameter so that a dialog opens in the centre of the browser rather then "
950
+ "using the regular form."
951
+ msgstr ""
952
+
953
+ #: classes/class-s2-admin.php:106
954
+ msgid ""
955
+ "The email over ride check box can be set to be automatically checked for "
956
+ "every new post and page from here to, this may be useful if you will only "
957
+ "want to send very occasional notifications for specific posts. You can then "
958
+ "uncheck this box just before you publish your content."
959
+ msgstr ""
960
+
961
+ #: classes/class-s2-admin.php:111
962
+ msgid ""
963
+ "This section contains a place to bar specified domains from becoming Public "
964
+ "Subscribers and links to help and support pages."
965
+ msgstr ""
966
+
967
+ #: classes/class-s2-admin.php:112
968
+ msgid ""
969
+ "In the paid Subscribe2 HTML version there is also a place here to enter a "
970
+ "license code so that updates can be accessed automatically."
971
+ msgstr ""
972
+
973
+ #: classes/class-s2-admin.php:122
974
+ msgid ""
975
+ "From this page you can send emails to the recipients in the group selected "
976
+ "in the drop down."
977
+ msgstr ""
978
+
979
+ #: classes/class-s2-admin.php:123
980
+ msgid ""
981
+ "<strong>Preview</strong> will send a preview of the email to the currently "
982
+ "logged in user. <strong>Send</strong> will send the email to the recipient "
983
+ "list."
984
+ msgstr ""
985
+
986
+ #: classes/class-s2-admin.php:163
987
+ msgid "Donate"
988
+ msgstr ""
989
+
990
+ #: classes/class-s2-admin.php:251 classes/class-s2-admin.php:252
991
+ msgid "Subscribe2 Notification Override"
992
+ msgstr ""
993
+
994
+ #: classes/class-s2-admin.php:262
995
+ msgid ""
996
+ "Check here to disable sending of an email notification for this post/page"
997
+ msgstr ""
998
+
999
+ #: classes/class-s2-admin.php:334
1000
+ msgctxt "Comma Separated Column Header names for CSV Export"
1001
+ msgid "User Email,User Type,User Name,Confirm Date,IP"
1002
+ msgstr ""
1003
+
1004
+ #: classes/class-s2-admin.php:359
1005
+ msgid "Registered User"
1006
+ msgstr ""
1007
+
1008
+ #: classes/class-s2-admin.php:364
1009
+ msgid "Confirmed Public Subscriber"
1010
+ msgstr ""
1011
+
1012
+ #: classes/class-s2-admin.php:366
1013
+ msgid "Unconfirmed Public Subscriber"
1014
+ msgstr ""
1015
+
1016
+ #: classes/class-s2-admin.php:392 classes/class-s2-admin.php:449
1017
+ #: classes/class-s2-admin.php:489
1018
+ msgid "Select / Unselect All"
1019
+ msgstr ""
1020
+
1021
+ #: classes/class-s2-admin.php:541
1022
+ msgid "All Users and Subscribers"
1023
+ msgstr ""
1024
+
1025
+ #: classes/class-s2-admin.php:543
1026
+ msgid "Confirmed"
1027
+ msgstr ""
1028
+
1029
+ #: classes/class-s2-admin.php:544
1030
+ msgid "Unconfirmed"
1031
+ msgstr ""
1032
+
1033
+ #: classes/class-s2-admin.php:545
1034
+ msgid "All Registered Users"
1035
+ msgstr ""
1036
+
1037
+ #: classes/class-s2-admin.php:641
1038
+ msgid "Post Author"
1039
+ msgstr ""
1040
+
1041
+ #: classes/class-s2-admin.php:665
1042
+ msgid ""
1043
+ "The WordPress cron functions may be disabled on this server. Digest "
1044
+ "notifications may not work."
1045
+ msgstr ""
1046
+
1047
+ #: classes/class-s2-admin.php:670
1048
+ msgid "For each Post"
1049
+ msgstr ""
1050
+
1051
+ #: classes/class-s2-admin.php:687
1052
+ msgid "Current UTC time is"
1053
+ msgstr ""
1054
+
1055
+ #: classes/class-s2-admin.php:689
1056
+ msgid "Current blog time is"
1057
+ msgstr ""
1058
+
1059
+ #: classes/class-s2-admin.php:691
1060
+ msgid "Next email notification will be sent when your blog time is after"
1061
+ msgstr ""
1062
+
1063
+ #: classes/class-s2-admin.php:713
1064
+ msgid "Attempt to resend the last Digest Notification email"
1065
+ msgstr ""
1066
+
1067
+ #: classes/class-s2-admin.php:714
1068
+ msgid "Resend Digest"
1069
+ msgstr ""
1070
+
1071
+ #: classes/class-s2-admin.php:952
1072
+ msgid "Email subscription"
1073
+ msgstr ""
1074
+
1075
+ #: classes/class-s2-admin.php:954
1076
+ msgid "Subscribe / Unsubscribe"
1077
+ msgstr ""
1078
+
1079
+ #: classes/class-s2-admin.php:955
1080
+ msgid "Receive notifications"
1081
+ msgstr ""
1082
+
1083
+ #: classes/class-s2-admin.php:956
1084
+ msgid ""
1085
+ "Check if you want to receive email notification when new posts are published"
1086
+ msgstr ""
1087
+
1088
+ #: classes/class-s2-core.php:594
1089
+ msgid "Plain Text Excerpt Preview"
1090
+ msgstr ""
1091
+
1092
+ #: classes/class-s2-core.php:596
1093
+ msgid "Plain Text Full Preview"
1094
+ msgstr ""
1095
+
1096
+ #: classes/class-s2-core.php:598
1097
+ msgid "HTML Excerpt Preview"
1098
+ msgstr ""
1099
+
1100
+ #: classes/class-s2-core.php:600
1101
+ msgid "HTML Full Preview"
1102
+ msgstr ""
1103
+
1104
+ #: classes/class-s2-core.php:636
1105
+ msgid "Like"
1106
+ msgstr ""
1107
+
1108
+ #: classes/class-s2-core.php:639
1109
+ msgid "Tweet"
1110
+ msgstr ""
1111
+
1112
+ #: classes/class-s2-core.php:642
1113
+ msgid "Google+"
1114
+ msgstr ""
1115
+
1116
+ #: classes/class-s2-core.php:1164
1117
+ msgid "Check here to Subscribe to email notifications for new posts"
1118
+ msgstr ""
1119
+
1120
+ #: classes/class-s2-core.php:1170
1121
+ msgid ""
1122
+ "By registering with this blog you are also agreeing to receive email "
1123
+ "notifications for new posts but you can unsubscribe at anytime"
1124
+ msgstr ""
1125
+
1126
+ #: classes/class-s2-core.php:1196
1127
+ msgid "Check here to Subscribe to notifications for new posts"
1128
+ msgstr ""
1129
+
1130
+ #: classes/class-s2-core.php:1295
1131
+ msgid "Weekly"
1132
+ msgstr ""
1133
+
1134
+ #: classes/class-s2-core.php:1449 classes/class-s2-core.php:1450
1135
+ msgid "Author"
1136
+ msgstr ""
1137
+
1138
+ #: classes/class-s2-core.php:1456
1139
+ msgid "Posted on"
1140
+ msgstr ""
1141
+
1142
+ #: classes/class-s2-core.php:1474 classes/class-s2-core.php:1475
1143
+ msgid "Posted in"
1144
+ msgstr ""
1145
+
1146
+ #: classes/class-s2-core.php:1480 classes/class-s2-core.php:1481
1147
+ msgid "Tagged as"
1148
+ msgstr ""
1149
+
1150
+ #: classes/class-s2-core.php:1553
1151
+ msgid "Digest Email"
1152
+ msgstr ""
1153
+
1154
+ #: classes/class-s2-core.php:1563
1155
+ msgid "Digest Preview"
1156
+ msgstr ""
1157
+
1158
+ #: classes/class-s2-frontend.php:7
1159
+ msgid "To manage your subscription options please <a href=\"%1$s\">login.</a>"
1160
+ msgstr ""
1161
+
1162
+ #: classes/class-s2-frontend.php:9
1163
+ msgid ""
1164
+ "You may manage your subscription options from your <a href=\"%1$s\">profile</"
1165
+ "a>"
1166
+ msgstr ""
1167
+
1168
+ #: classes/class-s2-frontend.php:15
1169
+ msgid ""
1170
+ "<a href=\"%1$s\">Subscribe</a> to email notifications when this blog posts "
1171
+ "new content."
1172
+ msgstr ""
1173
+
1174
+ #: classes/class-s2-frontend.php:19
1175
+ msgid "A confirmation message is on its way!"
1176
+ msgstr ""
1177
+
1178
+ #: classes/class-s2-frontend.php:21
1179
+ msgid "That email address is already subscribed."
1180
+ msgstr ""
1181
+
1182
+ #: classes/class-s2-frontend.php:23
1183
+ msgid "That email address is not subscribed."
1184
+ msgstr ""
1185
+
1186
+ #: classes/class-s2-frontend.php:25
1187
+ msgid "Sorry, but that does not look like an email address to me."
1188
+ msgstr ""
1189
+
1190
+ #: classes/class-s2-frontend.php:27
1191
+ msgid ""
1192
+ "Sorry, email addresses at that domain are currently barred due to spam, "
1193
+ "please use an alternative email address."
1194
+ msgstr ""
1195
+
1196
+ #: classes/class-s2-frontend.php:29
1197
+ msgid ""
1198
+ "Sorry, there seems to be an error on the server. Please try again later."
1199
+ msgstr ""
1200
+
1201
+ #: classes/class-s2-frontend.php:32
1202
+ msgid "No such email address is registered."
1203
+ msgstr ""
1204
+
1205
+ #: classes/class-s2-frontend.php:34
1206
+ msgid "You have successfully subscribed!"
1207
+ msgstr ""
1208
+
1209
+ #: classes/class-s2-frontend.php:36
1210
+ msgid "You have successfully unsubscribed."
1211
+ msgstr ""
1212
+
1213
+ #: classes/class-s2-frontend.php:38
1214
+ msgid "subscribe"
1215
+ msgstr ""
1216
+
1217
+ #: classes/class-s2-frontend.php:40
1218
+ msgid "unsubscribe"
1219
+ msgstr ""
1220
+
1221
+ #: classes/class-s2-frontend.php:97
1222
+ msgid "Enter email address..."
1223
+ msgstr ""
1224
+
1225
+ #: classes/class-s2-frontend.php:117 classes/class-s2-frontend.php:119
1226
+ msgid "Your email:"
1227
+ msgstr ""
1228
+
1229
+ #: classes/class-s2-frontend.php:146
1230
+ msgid "Slow down, you move too fast."
1231
+ msgstr ""
1232
+
1233
+ #: classes/class-s2-frontend.php:245
1234
+ msgid "Subscription Confirmation"
1235
+ msgstr ""
1236
+
1237
+ #: classes/class-s2-frontend.php:247
1238
+ msgid "Unsubscription Confirmation"
1239
+ msgstr ""
1240
+
1241
+ #: classes/class-s2-frontend.php:286
1242
+ msgid "New Subscription"
1243
+ msgstr ""
1244
+
1245
+ #: classes/class-s2-frontend.php:288
1246
+ msgid "subscribed to email notifications!"
1247
+ msgstr ""
1248
+
1249
+ #: classes/class-s2-frontend.php:310
1250
+ msgid "New Unsubscription"
1251
+ msgstr ""
1252
+
1253
+ #: classes/class-s2-frontend.php:312
1254
+ msgid "unsubscribed from email notifications!"
1255
+ msgstr ""
1256
+
1257
+ #: classes/class-s2-frontend.php:339
1258
+ msgid "[Un]Subscribe to Posts"
1259
+ msgstr ""
1260
+
1261
+ #: classes/class-s2-frontend.php:374 classes/class-s2-frontend.php:376
1262
+ msgid "Subscribe to this blog"
1263
+ msgstr ""
1264
+
1265
+ #: classes/class-s2-list-table.php:57 classes/class-s2-list-table.php:62
1266
+ #: classes/class-s2-list-table.php:68
1267
+ msgctxt "column name"
1268
+ msgid "Email"
1269
+ msgstr ""
1270
+
1271
+ #: classes/class-s2-list-table.php:69
1272
+ msgctxt "column name"
1273
+ msgid "Date"
1274
+ msgstr ""
1275
+
1276
+ #: classes/class-s2-list-table.php:95 classes/class-s2-list-table.php:100
1277
+ msgid "Delete"
1278
+ msgstr ""
1279
+
1280
+ #: classes/class-s2-list-table.php:101
1281
+ msgid "Toggle"
1282
+ msgstr ""
1283
+
1284
+ #: classes/class-s2-list-table.php:113
1285
+ msgid "1 item"
1286
+ msgid_plural "%s items"
1287
+ msgstr[0] ""
1288
+ msgstr[1] ""
1289
+
1290
+ #: classes/class-s2-list-table.php:149
1291
+ msgid "Go to the first page"
1292
+ msgstr ""
1293
+
1294
+ #: classes/class-s2-list-table.php:156
1295
+ msgid "Go to the previous page"
1296
+ msgstr ""
1297
+
1298
+ #: classes/class-s2-list-table.php:165
1299
+ msgid "Current page"
1300
+ msgstr ""
1301
+
1302
+ #: classes/class-s2-list-table.php:171
1303
+ msgctxt "paging"
1304
+ msgid "%1$s of %2$s"
1305
+ msgstr ""
1306
+
1307
+ #: classes/class-s2-list-table.php:175
1308
+ msgid "Go to the next page"
1309
+ msgstr ""
1310
+
1311
+ #: classes/class-s2-list-table.php:182
1312
+ msgid "Go to the last page"
1313
+ msgstr ""
1314
+
1315
+ #: include/counterwidget.php:7
1316
+ msgid "Subscriber Counter widget for Subscribe2"
1317
+ msgstr ""
1318
+
1319
+ #: include/counterwidget.php:9
1320
+ msgid "Subscribe2 Counter"
1321
+ msgstr ""
1322
+
1323
+ #: include/counterwidget.php:73
1324
+ msgid "Widget Title"
1325
+ msgstr ""
1326
+
1327
+ #: include/counterwidget.php:78
1328
+ msgid "Color Scheme"
1329
+ msgstr ""
1330
+
1331
+ #: include/counterwidget.php:80
1332
+ msgid "Body"
1333
+ msgstr ""
1334
+
1335
+ #: include/counterwidget.php:82
1336
+ msgid "Text"
1337
+ msgstr ""
1338
+
1339
+ #: include/counterwidget.php:87
1340
+ msgid "Width, Height and Font Size"
1341
+ msgstr ""
1342
+
1343
+ #: include/counterwidget.php:89
1344
+ msgid "Width"
1345
+ msgstr ""
1346
+
1347
+ #: include/counterwidget.php:91
1348
+ msgid "Height"
1349
+ msgstr ""
1350
+
1351
+ #: include/counterwidget.php:93
1352
+ msgid "Font"
1353
+ msgstr ""
1354
+
1355
+ #: include/options.php:138
1356
+ msgid ""
1357
+ "{BLOGNAME} has posted a new item, '{TITLE}'\n"
1358
+ "\n"
1359
+ "{POST}\n"
1360
+ "\n"
1361
+ "You may view the latest post at\n"
1362
+ "{PERMALINK}\n"
1363
+ "\n"
1364
+ "You received this e-mail because you asked to be notified when new updates "
1365
+ "are posted.\n"
1366
+ "Best regards,\n"
1367
+ "{MYNAME}\n"
1368
+ "{EMAIL}"
1369
+ msgstr ""
1370
+
1371
+ #: include/options.php:146
1372
+ msgid ""
1373
+ "{BLOGNAME} has received a request to {ACTION} for this email address. To "
1374
+ "complete your request please click on the link below:\n"
1375
+ "\n"
1376
+ "{LINK}\n"
1377
+ "\n"
1378
+ "If you did not request this, please feel free to disregard this notice!\n"
1379
+ "\n"
1380
+ "Thank you,\n"
1381
+ "{MYNAME}."
1382
+ msgstr ""
1383
+
1384
+ #: include/options.php:150
1385
+ msgid "Please confirm your request"
1386
+ msgstr ""
1387
+
1388
+ #: include/options.php:154
1389
+ msgid ""
1390
+ "This email address was subscribed for notifications at {BLOGNAME} "
1391
+ "({BLOGLINK}) but the subscription remains incomplete.\n"
1392
+ "\n"
1393
+ "If you wish to complete your subscription please click on the link below:\n"
1394
+ "\n"
1395
+ "{LINK}\n"
1396
+ "\n"
1397
+ "If you do not wish to complete your subscription please ignore this email "
1398
+ "and your address will be removed from our database.\n"
1399
+ "\n"
1400
+ "Regards,\n"
1401
+ "{MYNAME}"
1402
+ msgstr ""
1403
+
1404
+ #: include/options.php:158
1405
+ msgid "Subscription Reminder"
1406
+ msgstr ""
1407
+
1408
+ #: include/widget.php:7
1409
+ msgid "Sidebar Widget for Subscribe2"
1410
+ msgstr ""
1411
+
1412
+ #: include/widget.php:9
1413
+ msgid "Subscribe2 Widget"
1414
+ msgstr ""
1415
+
1416
+ #: include/widget.php:30
1417
+ msgid "(Un)Subscribe to Posts"
1418
+ msgstr ""
1419
+
1420
+ #: include/widget.php:107
1421
+ msgid "Title"
1422
+ msgstr ""
1423
+
1424
+ #: include/widget.php:109
1425
+ msgid "Div class name"
1426
+ msgstr ""
1427
+
1428
+ #: include/widget.php:111
1429
+ msgid "Pre-Content"
1430
+ msgstr ""
1431
+
1432
+ #: include/widget.php:113
1433
+ msgid "Post-Content"
1434
+ msgstr ""
1435
+
1436
+ #: include/widget.php:115
1437
+ msgid "Text Box Size"
1438
+ msgstr ""
1439
+
1440
+ #: include/widget.php:117
1441
+ msgid "Display options"
1442
+ msgstr ""
1443
+
1444
+ #: include/widget.php:118
1445
+ msgid "Show complete form"
1446
+ msgstr ""
1447
+
1448
+ #: include/widget.php:119
1449
+ msgid "Hide Subscribe button"
1450
+ msgstr ""
1451
+
1452
+ #: include/widget.php:120
1453
+ msgid "Hide Unsubscribe button"
1454
+ msgstr ""
1455
+
1456
+ #: include/widget.php:122
1457
+ msgid "Show as link"
1458
+ msgstr ""
1459
+
1460
+ #: include/widget.php:125
1461
+ msgid "Post form content to page"
1462
+ msgstr ""
1463
+
1464
+ #: include/widget.php:127
1465
+ msgid "Use Subscribe2 Default"
1466
+ msgstr ""
1467
+
1468
+ #: include/widget.php:130
1469
+ msgid "Use Home Page"
1470
+ msgstr ""
1471
+
1472
+ #: include/widget.php:133
1473
+ msgid "Use Referring Page"
1474
+ msgstr ""
1475
+
1476
+ #: include/widget.php:136
1477
+ msgid "Disable JavaScript"
1478
+ msgstr ""
1479
+
1480
+ #: include/widget.php:139
1481
+ msgid "Disable Anti-spam measures"
1482
+ msgstr ""
1483
+
1484
+ #: subscribe2.php:37
1485
+ msgid "I'm just a plugin, please don't call me directly"
1486
+ msgstr ""
1487
+
1488
+ #: subscribe2.php:40
1489
+ msgid ""
1490
+ "This version of Subscribe2 requires WordPress 3.3 or greater. Please update "
1491
+ "%1$s or use an older version of %2$s."
1492
+ msgstr ""
1493
+
1494
+ #: subscribe2.php:52
1495
+ msgid ""
1496
+ "Subscribe2 cannot be activated as a network plugin. Please activate it at on "
1497
+ "a site level"
1498
+ msgstr ""
1499
+
1500
+ #. #-#-#-#-# Subscribe2.pot (Subscribe2 9.4) #-#-#-#-#
1501
+ #. Plugin URI of the plugin/theme
1502
+ #. #-#-#-#-# Subscribe2.pot (Subscribe2 9.4) #-#-#-#-#
1503
+ #. Author URI of the plugin/theme
1504
+ msgid "http://subscribe2.wordpress.com"
1505
+ msgstr ""
1506
+
1507
+ #. Description of the plugin/theme
1508
+ msgid "Notifies an email list when new entries are posted."
1509
+ msgstr ""
1510
+
1511
+ #. Author of the plugin/theme
1512
+ msgid "Matthew Robinson"
1513
+ msgstr ""
tinymce/editor_plugin4.js CHANGED
@@ -40,13 +40,6 @@
40
  }
41
  });
42
 
43
- // allow selection of the image placeholder
44
- ed.on('click', function ( ed ) {
45
- if ( ed.toElement.nodeName === 'IMG' && ed.toElement.className === cls ) {
46
- ed.selection.select( ed );
47
- }
48
- });
49
-
50
  // create an array of replaced shortcodes so we have additional parameters
51
  // then swap in the graphic
52
  ed.on('BeforeSetContent', function ( ed ) {
40
  }
41
  });
42
 
 
 
 
 
 
 
 
43
  // create an array of replaced shortcodes so we have additional parameters
44
  // then swap in the graphic
45
  ed.on('BeforeSetContent', function ( ed ) {
tinymce/editor_plugin4.min.js CHANGED
@@ -1 +1 @@
1
- (function(){tinymce.create('tinymce.plugins.Subscribe2Plugin',{init:function(ed,url){var i=0,pb='<p><img src="'+url+'/../include/spacer.gif" class="mceSubscribe2 mceItemNoResize" /></p>',cls='mceSubscribe2',shortcode='[subscribe2]',pbreplaced=[],pbRE=new RegExp(/(\[|<!--)subscribe2.*?(\]|-->)/g),replacer=function(str){if(-1!==str.indexOf('class="mceSubscribe2')){str=pbreplaced[i]}return str};ed.addCommand('mceSubscribe2',function(){ed.execCommand('mceInsertContent',0,pb)});ed.addButton('subscribe2',{title:'Insert Subscribe2 Token',image:url+'/../include/s2_button.png',cmd:cls});ed.on('init',function(){ed.dom.loadCSS(url+'/css/content.css');if(ed.theme.onResolveName){ed.theme.onResolveName.add(function(th,o){if(o.node.nodeName==='IMG'&&ed.dom.hasClass(o.node,cls)){o.name='subscribe2'}})}});ed.on('click',function(ed){if(ed.toElement.nodeName==='IMG'&&ed.toElement.className===cls){ed.selection.select(ed)}});ed.on('BeforeSetContent',function(ed){pbreplaced=ed.content.match(pbRE);ed.content=ed.content.replace(pbRE,pb)});ed.on('PostProcess',function(ed){if(ed.get){if(null!==pbreplaced){for(i=0;i<pbreplaced.length;i++){ed.content=ed.content.replace(/<img[^>]+>/,replacer)}}ed.content=ed.content.replace(/<img[^>]+>/g,function(im){if(-1!==im.indexOf('class="mceSubscribe2')){im=shortcode}return im})}})},getInfo:function(){return{longname:'Insert Subscribe2 Token',author:'Matthew Robinson',authorurl:'http://subscribe2.wordpress.com',infourl:'http://subscribe2.wordpress.com',version:tinymce.majorVersion+'.'+tinymce.minorVersion}}});tinymce.PluginManager.add('subscribe2',tinymce.plugins.Subscribe2Plugin)})();
1
+ (function(){tinymce.create("tinymce.plugins.Subscribe2Plugin",{init:function(ed,url){var i=0,pb='<p><img src="'+url+'/../include/spacer.gif" class="mceSubscribe2 mceItemNoResize" /></p>',cls="mceSubscribe2",shortcode="[subscribe2]",pbreplaced=[],pbRE=new RegExp(/(\[|<!--)subscribe2.*?(\]|-->)/g),replacer=function(str){if(-1!==str.indexOf('class="mceSubscribe2')){str=pbreplaced[i]}return str};ed.addCommand("mceSubscribe2",function(){ed.execCommand("mceInsertContent",0,pb)});ed.addButton("subscribe2",{title:"Insert Subscribe2 Token",image:url+"/../include/s2_button.png",cmd:cls});ed.on("init",function(){ed.dom.loadCSS(url+"/css/content.css");if(ed.theme.onResolveName){ed.theme.onResolveName.add(function(th,o){if(o.node.nodeName==="IMG"&&ed.dom.hasClass(o.node,cls)){o.name="subscribe2"}})}});ed.on("BeforeSetContent",function(ed){pbreplaced=ed.content.match(pbRE);ed.content=ed.content.replace(pbRE,pb)});ed.on("PostProcess",function(ed){if(ed.get){if(null!==pbreplaced){for(i=0;i<pbreplaced.length;i++){ed.content=ed.content.replace(/<img[^>]+>/,replacer)}}ed.content=ed.content.replace(/<img[^>]+>/g,function(im){if(-1!==im.indexOf('class="mceSubscribe2')){im=shortcode}return im})}})},getInfo:function(){return{longname:"Insert Subscribe2 Token",author:"Matthew Robinson",authorurl:"http://subscribe2.wordpress.com",infourl:"http://subscribe2.wordpress.com",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("subscribe2",tinymce.plugins.Subscribe2Plugin)})();