Version Description
Download this release
Release Info
Developer | MattyRob |
Plugin | Subscribe2 |
Version | 9.3 |
Comparing to | |
See all releases |
Code changes from version 9.2 to 9.3
- ChangeLog.txt +21 -0
- ReadMe.txt +2 -2
- admin/send_email.php +2 -2
- admin/settings.php +20 -21
- admin/subscribers.php +23 -8
- admin/your_subscriptions.php +1 -1
- classes/class-s2-admin.php +13 -9
- classes/class-s2-core.php +113 -98
- classes/class-s2-frontend.php +47 -0
- classes/class-s2-list-table.php +1 -1
- classes/class-s2-multisite.php +1 -1
- classes/class-s2-upgrade.php +11 -1
- include/options.php +1 -1
- subscribe2.php +3 -3
- subscribe2.pot +259 -239
- {tinymce3 → tinymce}/css/content.css +0 -0
- tinymce3/editor_plugin.js → tinymce/editor_plugin3.js +1 -1
- tinymce/editor_plugin3.min.js +1 -0
- tinymce/editor_plugin4.js +89 -0
- tinymce/editor_plugin4.min.js +1 -0
- tinymce3/editor_plugin.min.js +0 -1
ChangeLog.txt
CHANGED
@@ -1,3 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= Version 9.2 by Matthew Robinson =
|
2 |
|
3 |
* Fixed an error in the Registered User deletion code - thanks to Jay Wasack
|
1 |
+
= Version 9.3 by Matthew Robinson =
|
2 |
+
|
3 |
+
* Only add 'weekly' cron schedule interval if it does not already exist
|
4 |
+
* Add capability to add social media share buttons to HTML emails
|
5 |
+
* Update editor plugin for TinyMCE version 4 bundled with WordPress 3.9
|
6 |
+
* Rework Digest emails to collect posts based on transition status rather than time - see ticket https://plugins.trac.wordpress.org/ticket/2058
|
7 |
+
* Hide comment form subscription options if using Jetpack Comments and improve compatibility
|
8 |
+
* Fixed typos in the Help tab on the Settings page
|
9 |
+
* Improved domain name comparison for sender email check - props garypardun
|
10 |
+
* Tidied load_string() function and moved it to class-s2-frontend.php as all strings are not for user side only
|
11 |
+
* Ensure 's2_authors' keys exist on all sites and for all Registered Users as per illmasterc’s bug report
|
12 |
+
* Introduce 's2_mu_blog_list' filter to allow filter of blog list for WordPress Multisite installs - props careb
|
13 |
+
* Enable built-in widget by default - props by MadtownLems
|
14 |
+
* Use a better method for unendcoding HTML special characters for plain text emails - proposed by Dainius Kaupaitis
|
15 |
+
* Fixed a bug affecting handling of Registered users with email aliases (e.g. name+alias@gmail.com) - thanks to Alexandre (bosseal)
|
16 |
+
* Improved Character Set encoding of some email headers
|
17 |
+
* Improved user registration hooking for Multisite installs - thanks to dsl255
|
18 |
+
* Introduce a filter to allow filtering of the confirm link URL - props diddledan
|
19 |
+
* Introduce a confirmation box for Registered User deletion - props geoorgge1968
|
20 |
+
* Improved Bulk Management user experience by retaining submitted settings
|
21 |
+
|
22 |
= Version 9.2 by Matthew Robinson =
|
23 |
|
24 |
* Fixed an error in the Registered User deletion code - thanks to Jay Wasack
|
ReadMe.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: MattyRob, Skippy, RavanH, bhadaway
|
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2387904
|
4 |
Tags: posts, subscription, email, subscribe, notify, notification
|
5 |
Requires at least: 3.3
|
6 |
-
Tested up to: 3.
|
7 |
-
Stable tag: 9.
|
8 |
License: GPL3
|
9 |
|
10 |
Sends a list of subscribers an email notification when new posts are published to your blog
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2387904
|
4 |
Tags: posts, subscription, email, subscribe, notify, notification
|
5 |
Requires at least: 3.3
|
6 |
+
Tested up to: 3.9
|
7 |
+
Stable tag: 9.3
|
8 |
License: GPL3
|
9 |
|
10 |
Sends a list of subscribers an email notification when new posts are published to your blog
|
admin/send_email.php
CHANGED
@@ -82,11 +82,11 @@ if ( isset($_POST['s2_admin']) && 'mail' == $_POST['s2_admin'] ) {
|
|
82 |
if ( isset($_POST['preview']) ) {
|
83 |
$message = "<p class=\"s2_message\">" . __('Preview message sent!', 'subscribe2') . "</p>";
|
84 |
} else {
|
85 |
-
$message =
|
86 |
}
|
87 |
} else {
|
88 |
global $phpmailer;
|
89 |
-
$message =
|
90 |
}
|
91 |
echo "<div id=\"message\" class=\"updated\"><strong><p>" . $message . "</p></strong></div>\r\n";
|
92 |
}
|
82 |
if ( isset($_POST['preview']) ) {
|
83 |
$message = "<p class=\"s2_message\">" . __('Preview message sent!', 'subscribe2') . "</p>";
|
84 |
} else {
|
85 |
+
$message = "<p class=\"s2_message\">" . __('Message sent!', 'subscribe2') . "</p>";
|
86 |
}
|
87 |
} else {
|
88 |
global $phpmailer;
|
89 |
+
$message = "<p class=\"s2_error\">" . __('Message failed!', 'subscribe2') . "</p>" . $error_message . $phpmailer->ErrorInfo;
|
90 |
}
|
91 |
echo "<div id=\"message\" class=\"updated\"><strong><p>" . $message . "</p></strong></div>\r\n";
|
92 |
}
|
admin/settings.php
CHANGED
@@ -10,7 +10,7 @@ if ( isset( $_POST['s2_admin']) ) {
|
|
10 |
check_admin_referer('subscribe2-options_subscribers' . $s2nonce);
|
11 |
if ( isset($_POST['reset']) ) {
|
12 |
$this->reset();
|
13 |
-
echo "<div id=\"message\" class=\"updated fade\"><p><strong
|
14 |
} elseif ( isset($_POST['preview']) ) {
|
15 |
global $user_email, $post;
|
16 |
$this->preview_email = true;
|
@@ -85,7 +85,6 @@ if ( isset( $_POST['s2_admin']) ) {
|
|
85 |
if ( $interval == 0 ) {
|
86 |
// if we are on per-post emails remove last_cron entry
|
87 |
unset($this->subscribe2_options['last_s2cron']);
|
88 |
-
unset($this->subscribe2_options['previous_s2cron']);
|
89 |
} else {
|
90 |
// if we are using digest schedule the event and prime last_cron as now
|
91 |
$time = time() + $interval;
|
@@ -100,9 +99,6 @@ if ( isset( $_POST['s2_admin']) ) {
|
|
100 |
$timestamp += $interval;
|
101 |
}
|
102 |
wp_schedule_event($timestamp, $email_freq, 's2_digest_cron');
|
103 |
-
if ( !isset($this->subscribe2_options['last_s2cron']) ) {
|
104 |
-
$this->subscribe2_options['last_s2cron'] = current_time('mysql');
|
105 |
-
}
|
106 |
}
|
107 |
}
|
108 |
} else {
|
@@ -112,7 +108,7 @@ if ( isset( $_POST['s2_admin']) ) {
|
|
112 |
}
|
113 |
}
|
114 |
|
115 |
-
echo "<div id=\"message\" class=\"updated fade\"><p><strong
|
116 |
update_option('subscribe2_options', $this->subscribe2_options);
|
117 |
}
|
118 |
}
|
@@ -121,7 +117,7 @@ if ( isset( $_POST['s2_admin']) ) {
|
|
121 |
$sql = "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status='publish' LIMIT 1";
|
122 |
$id = $wpdb->get_var($sql);
|
123 |
if ( empty($id) ) {
|
124 |
-
echo "<div id=\"page_message\" class=\"error\"><p class=\"s2_error\"><strong
|
125 |
}
|
126 |
|
127 |
if ( $this->subscribe2_options['email_freq'] != 'never' ) {
|
@@ -149,8 +145,8 @@ if ( $this->subscribe2_options['sender'] == 'blogname' ) {
|
|
149 |
$sender = $userdata->user_email;
|
150 |
}
|
151 |
list($user, $domain) = explode('@', $sender, 2);
|
152 |
-
if ( !
|
153 |
-
echo "<div id=\"sender_message\" class=\"error\"><p class=\"s2_error\"><strong>" . __('You appear to be sending notifications from
|
154 |
}
|
155 |
|
156 |
// detect or define which tab we are in
|
@@ -386,18 +382,21 @@ switch ($current_tab) {
|
|
386 |
echo __('Yes', 'subscribe2') . "</label> ";
|
387 |
echo "<label><input type=\"radio\" name=\"autosub_def\" value=\"no\"" . checked($this->subscribe2_options['autosub_def'], 'no', false) . " /> ";
|
388 |
echo __('No', 'subscribe2') . "</label><br /><br />";
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
|
|
|
|
|
|
401 |
echo __('Show one-click subscription on profile page', 'subscribe2') . ":<br />\r\n";
|
402 |
echo "<label><input type=\"radio\" name=\"one_click_profile\" value=\"yes\"" . checked($this->subscribe2_options['one_click_profile'], 'yes', false) . " /> ";
|
403 |
echo __('Yes', 'subscribe2') . "</label> ";
|
10 |
check_admin_referer('subscribe2-options_subscribers' . $s2nonce);
|
11 |
if ( isset($_POST['reset']) ) {
|
12 |
$this->reset();
|
13 |
+
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Options reset!', 'subscribe2') . "</strong></p></div>";
|
14 |
} elseif ( isset($_POST['preview']) ) {
|
15 |
global $user_email, $post;
|
16 |
$this->preview_email = true;
|
85 |
if ( $interval == 0 ) {
|
86 |
// if we are on per-post emails remove last_cron entry
|
87 |
unset($this->subscribe2_options['last_s2cron']);
|
|
|
88 |
} else {
|
89 |
// if we are using digest schedule the event and prime last_cron as now
|
90 |
$time = time() + $interval;
|
99 |
$timestamp += $interval;
|
100 |
}
|
101 |
wp_schedule_event($timestamp, $email_freq, 's2_digest_cron');
|
|
|
|
|
|
|
102 |
}
|
103 |
}
|
104 |
} else {
|
108 |
}
|
109 |
}
|
110 |
|
111 |
+
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Options saved!', 'subscribe2') . "</strong></p></div>";
|
112 |
update_option('subscribe2_options', $this->subscribe2_options);
|
113 |
}
|
114 |
}
|
117 |
$sql = "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status='publish' LIMIT 1";
|
118 |
$id = $wpdb->get_var($sql);
|
119 |
if ( empty($id) ) {
|
120 |
+
echo "<div id=\"page_message\" class=\"error\"><p class=\"s2_error\"><strong>" . __('You must create a WordPress page for this plugin to work correctly.', 'subscribe2') . "</strong></p></div>";
|
121 |
}
|
122 |
|
123 |
if ( $this->subscribe2_options['email_freq'] != 'never' ) {
|
145 |
$sender = $userdata->user_email;
|
146 |
}
|
147 |
list($user, $domain) = explode('@', $sender, 2);
|
148 |
+
if ( !stristr($_SERVER['SERVER_NAME'], $domain) && $this->subscribe2_options['sender'] != 'author' ) {
|
149 |
+
echo "<div id=\"sender_message\" class=\"error\"><p class=\"s2_error\"><strong>" . sprintf(__('You appear to be sending notifications from %1$s, which has a different domain name than your blog server %2$s. This may result in failed emails.', 'subscribe2'), $sender, $_SERVER['SERVER_NAME']) . "</strong></p></div>";
|
150 |
}
|
151 |
|
152 |
// detect or define which tab we are in
|
382 |
echo __('Yes', 'subscribe2') . "</label> ";
|
383 |
echo "<label><input type=\"radio\" name=\"autosub_def\" value=\"no\"" . checked($this->subscribe2_options['autosub_def'], 'no', false) . " /> ";
|
384 |
echo __('No', 'subscribe2') . "</label><br /><br />";
|
385 |
+
// Hide these options if using Jetpack Comments
|
386 |
+
if ( !class_exists('Jetpack_Comments') ) {
|
387 |
+
echo __('Display checkbox to allow subscriptions from the comment form', 'subscribe2') . ": <br />\r\n";
|
388 |
+
echo "<label><input type=\"radio\" name=\"comment_subs\" value=\"before\"" . checked($this->subscribe2_options['comment_subs'], 'before', false) . " /> ";
|
389 |
+
echo __('Before the Comment Submit button', 'subscribe2') . "</label> ";
|
390 |
+
echo "<label><input type=\"radio\" name=\"comment_subs\" value=\"after\"" . checked($this->subscribe2_options['comment_subs'], 'after', false) . " /> ";
|
391 |
+
echo __('After the Comment Submit button', 'subscribe2') . "</label> ";
|
392 |
+
echo "<label><input type=\"radio\" name=\"comment_subs\" value=\"no\"" . checked($this->subscribe2_options['comment_subs'], 'no', false) . " /> ";
|
393 |
+
echo __('No', 'subscribe2') . "</label><br /><br />";
|
394 |
+
echo __('Comment form checkbox is checked by default', 'subscribe2') . ": <br />\r\n";
|
395 |
+
echo "<label><input type=\"radio\" name=\"comment_def\" value=\"yes\"" . checked($this->subscribe2_options['comment_def'], 'yes', false) . " /> ";
|
396 |
+
echo __('Yes', 'subscribe2') . "</label> ";
|
397 |
+
echo "<label><input type=\"radio\" name=\"comment_def\" value=\"no\"" . checked($this->subscribe2_options['comment_def'], 'no', false) . " /> ";
|
398 |
+
echo __('No', 'subscribe2') . "</label><br /><br />\r\n";
|
399 |
+
}
|
400 |
echo __('Show one-click subscription on profile page', 'subscribe2') . ":<br />\r\n";
|
401 |
echo "<label><input type=\"radio\" name=\"one_click_profile\" value=\"yes\"" . checked($this->subscribe2_options['one_click_profile'], 'yes', false) . " /> ";
|
402 |
echo __('Yes', 'subscribe2') . "</label> ";
|
admin/subscribers.php
CHANGED
@@ -265,21 +265,21 @@ if ( $current_tab === 'registered' ) {
|
|
265 |
echo "<br />" . __('Action to perform', 'subscribe2') . ":\r\n";
|
266 |
echo "<label><input type=\"radio\" name=\"manage\" value=\"subscribe\" checked=\"checked\" /> " . __('Subscribe', 'subscribe2') . "</label> \r\n";
|
267 |
echo "<label><input type=\"radio\" name=\"manage\" value=\"unsubscribe\" /> " . __('Unsubscribe', 'subscribe2') . "</label><br /><br />\r\n";
|
268 |
-
$this->display_category_form();
|
269 |
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"sub_categories\" value=\"" . __('Bulk Update Categories', 'subscribe2') . "\" /></p>";
|
270 |
echo "<br />" . __('Send email as', 'subscribe2') . ":\r\n";
|
271 |
-
echo "<label><input type=\"radio\" name=\"format\" value=\"html\" /> " . __('HTML - Full', 'subscribe2') . "</label> \r\n";
|
272 |
-
echo "<label><input type=\"radio\" name=\"format\" value=\"html_excerpt\" /> " . __('HTML - Excerpt', 'subscribe2') . "</label> \r\n";
|
273 |
-
echo "<label><input type=\"radio\" name=\"format\" value=\"post\" /> " . __('Plain Text - Full', 'subscribe2') . "</label> \r\n";
|
274 |
-
echo "<label><input type=\"radio\" name=\"format\" value=\"excerpt\" checked
|
275 |
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"sub_format\" value=\"" . __('Bulk Update Format', 'subscribe2') . "\" /></p>";
|
276 |
} else {
|
277 |
echo __('Preferences for Registered Users selected in the filter above can be changed using this section.', 'subscribe2') . "<br />\r\n";
|
278 |
echo "<strong><em style=\"color: red\">" . __('Consider User Privacy as changes cannot be undone', 'subscribe2') . "</em></strong><br />\r\n";
|
279 |
-
echo "<br />" . __('Subscribe Selected Users to
|
280 |
-
echo "<label><input type=\"radio\" name=\"sub_category\" value=\"digest\" checked
|
281 |
echo __('Yes', 'subscribe2') . "</label> \r\n";
|
282 |
-
echo "<label><input type=\"radio\" name=\"sub_category\" value=\"-1\" /> ";
|
283 |
echo __('No', 'subscribe2') . "</label>";
|
284 |
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"sub_digest\" value=\"" . __('Bulk Update Digest Subscription', 'subscribe2') . "\" /></p>";
|
285 |
}
|
@@ -287,6 +287,21 @@ if ( $current_tab === 'registered' ) {
|
|
287 |
}
|
288 |
echo "</form></div>\r\n";
|
289 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
290 |
include(ABSPATH . 'wp-admin/admin-footer.php');
|
291 |
// just to be sure
|
292 |
die;
|
265 |
echo "<br />" . __('Action to perform', 'subscribe2') . ":\r\n";
|
266 |
echo "<label><input type=\"radio\" name=\"manage\" value=\"subscribe\" checked=\"checked\" /> " . __('Subscribe', 'subscribe2') . "</label> \r\n";
|
267 |
echo "<label><input type=\"radio\" name=\"manage\" value=\"unsubscribe\" /> " . __('Unsubscribe', 'subscribe2') . "</label><br /><br />\r\n";
|
268 |
+
$this->display_category_form($_POST['category']);
|
269 |
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"sub_categories\" value=\"" . __('Bulk Update Categories', 'subscribe2') . "\" /></p>";
|
270 |
echo "<br />" . __('Send email as', 'subscribe2') . ":\r\n";
|
271 |
+
echo "<label><input type=\"radio\" name=\"format\" value=\"html\"" . checked($_POST['format'], 'html', false) . " /> " . __('HTML - Full', 'subscribe2') . "</label> \r\n";
|
272 |
+
echo "<label><input type=\"radio\" name=\"format\" value=\"html_excerpt\"" . checked($_POST['format'], 'html_excerpt', false) . " /> " . __('HTML - Excerpt', 'subscribe2') . "</label> \r\n";
|
273 |
+
echo "<label><input type=\"radio\" name=\"format\" value=\"post\"" . checked($_POST['format'], 'post', false) . " /> " . __('Plain Text - Full', 'subscribe2') . "</label> \r\n";
|
274 |
+
echo "<label><input type=\"radio\" name=\"format\" value=\"excerpt\"" . checked($_POST['format'], 'excerpt', false) . "/> " . __('Plain Text - Excerpt', 'subscribe2') . "</label>\r\n";
|
275 |
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"sub_format\" value=\"" . __('Bulk Update Format', 'subscribe2') . "\" /></p>";
|
276 |
} else {
|
277 |
echo __('Preferences for Registered Users selected in the filter above can be changed using this section.', 'subscribe2') . "<br />\r\n";
|
278 |
echo "<strong><em style=\"color: red\">" . __('Consider User Privacy as changes cannot be undone', 'subscribe2') . "</em></strong><br />\r\n";
|
279 |
+
echo "<br />" . __('Subscribe Selected Users to receive a periodic digest notification', 'subscribe2') . ":\r\n";
|
280 |
+
echo "<label><input type=\"radio\" name=\"sub_category\" value=\"digest\"" . checked($_POST['sub_category'], 'digest', false) . " /> ";
|
281 |
echo __('Yes', 'subscribe2') . "</label> \r\n";
|
282 |
+
echo "<label><input type=\"radio\" name=\"sub_category\" value=\"-1\"" . checked($_POST['sub_category'], '-1', false) . " /> ";
|
283 |
echo __('No', 'subscribe2') . "</label>";
|
284 |
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"sub_digest\" value=\"" . __('Bulk Update Digest Subscription', 'subscribe2') . "\" /></p>";
|
285 |
}
|
287 |
}
|
288 |
echo "</form></div>\r\n";
|
289 |
|
290 |
+
if ( $current_tab === 'registered' ) {
|
291 |
+
echo "<script type=\"text/javascript\">\r\n";
|
292 |
+
echo "function s2_delete_check() {\r\n";
|
293 |
+
echo " var action1 = document.getElementById('doaction');\r\n";
|
294 |
+
echo " action1.onclick = submitHandler;\r\n";
|
295 |
+
echo " var action2 = document.getElementById('doaction2');\r\n";
|
296 |
+
echo " action2.onclick = submitHandler;\r\n";
|
297 |
+
echo " function submitHandler() {\r\n";
|
298 |
+
echo " var agree=confirm('" . __('You are about to delete user account(s). Are you sure?', 'subscribe2') . "'); if (agree) return true; else return false;\r\n";
|
299 |
+
echo " }\r\n";
|
300 |
+
echo "}\r\n";
|
301 |
+
echo "window.onload=s2_delete_check;\r\n";
|
302 |
+
echo "</script>\r\n";
|
303 |
+
}
|
304 |
+
|
305 |
include(ABSPATH . 'wp-admin/admin-footer.php');
|
306 |
// just to be sure
|
307 |
die;
|
admin/your_subscriptions.php
CHANGED
@@ -7,7 +7,7 @@ global $user_ID, $s2nonce;
|
|
7 |
|
8 |
if ( isset($_GET['email']) ) {
|
9 |
global $wpdb;
|
10 |
-
$user_ID = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_email = %s",
|
11 |
} else {
|
12 |
get_currentuserinfo();
|
13 |
}
|
7 |
|
8 |
if ( isset($_GET['email']) ) {
|
9 |
global $wpdb;
|
10 |
+
$user_ID = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_email = %s", $_GET['email']));
|
11 |
} else {
|
12 |
get_currentuserinfo();
|
13 |
}
|
classes/class-s2-admin.php
CHANGED
@@ -88,7 +88,7 @@ class s2_admin extends s2class {
|
|
88 |
'id' => 's2-settings-help3',
|
89 |
'title' => __('Templates', 'subscribe2'),
|
90 |
'content' => '<p>' . __('This section allows you to customise the content of your notification emails.', 'subscribe2') .
|
91 |
-
'</p><p>'. __('There are special {KEYWORDS} that are used by Subscribe2 to place content into the final email. The template also
|
92 |
'</p><p>'. __('The {KEYWORDS} are listed on the right of the templates, note that some are for per post emails only and some are for digest emails only. Make sure the correct keywords are used based upon the Email Settings.', 'subscribe2') . '</p>'
|
93 |
));
|
94 |
$screen->add_help_tab(array(
|
@@ -204,8 +204,8 @@ class s2_admin extends s2class {
|
|
204 |
if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) { return; }
|
205 |
if ( 'true' == get_user_option('rich_editing') ) {
|
206 |
// Hook into the rich text editor
|
207 |
-
add_filter('mce_external_plugins', array(&$this, '
|
208 |
-
add_filter('mce_buttons', array(&$this, '
|
209 |
} else {
|
210 |
wp_enqueue_script('subscribe2_button', S2URL . 'include/s2_button' . $this->script_debug . '.js', array('quicktags'), '2.0' );
|
211 |
}
|
@@ -214,16 +214,20 @@ class s2_admin extends s2class {
|
|
214 |
/**
|
215 |
Add buttons for Rich Text Editor
|
216 |
*/
|
217 |
-
function
|
218 |
-
|
|
|
|
|
|
|
|
|
219 |
$arr['subscribe2'] = $path;
|
220 |
return $arr;
|
221 |
-
} // end
|
222 |
|
223 |
-
function
|
224 |
$arr[] = 'subscribe2';
|
225 |
return $arr;
|
226 |
-
} // end
|
227 |
|
228 |
/* ===== widget functions ===== */
|
229 |
/**
|
@@ -705,7 +709,7 @@ class s2_admin extends s2class {
|
|
705 |
echo "</select>\r\n";
|
706 |
echo "<a href=\"#\" onclick=\"s2_cron_update('cron'); return false;\">". __('Update', 'subscribe2') . "</a>\n";
|
707 |
echo "<a href=\"#\" onclick=\"s2_cron_revert('cron'); return false;\">". __('Revert', 'subscribe2') . "</a></span>\n";
|
708 |
-
if ( !empty($this->subscribe2_options['
|
709 |
echo "<p>" . __('Attempt to resend the last Digest Notification email', 'subscribe2') . ": ";
|
710 |
echo "<input type=\"submit\" class=\"button-secondary\" name=\"resend\" value=\"" . __('Resend Digest', 'subscribe2') . "\" /></p>\r\n";
|
711 |
}
|
88 |
'id' => 's2-settings-help3',
|
89 |
'title' => __('Templates', 'subscribe2'),
|
90 |
'content' => '<p>' . __('This section allows you to customise the content of your notification emails.', 'subscribe2') .
|
91 |
+
'</p><p>'. __('There are special {KEYWORDS} that are used by Subscribe2 to place content into the final email. The template also accepts regular text and HTML as desired in the final emails.', 'subscribe2') .
|
92 |
'</p><p>'. __('The {KEYWORDS} are listed on the right of the templates, note that some are for per post emails only and some are for digest emails only. Make sure the correct keywords are used based upon the Email Settings.', 'subscribe2') . '</p>'
|
93 |
));
|
94 |
$screen->add_help_tab(array(
|
204 |
if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) { return; }
|
205 |
if ( 'true' == get_user_option('rich_editing') ) {
|
206 |
// Hook into the rich text editor
|
207 |
+
add_filter('mce_external_plugins', array(&$this, 'mce_plugin'));
|
208 |
+
add_filter('mce_buttons', array(&$this, 'mce_button'));
|
209 |
} else {
|
210 |
wp_enqueue_script('subscribe2_button', S2URL . 'include/s2_button' . $this->script_debug . '.js', array('quicktags'), '2.0' );
|
211 |
}
|
214 |
/**
|
215 |
Add buttons for Rich Text Editor
|
216 |
*/
|
217 |
+
function mce_plugin($arr) {
|
218 |
+
if ( version_compare($this->wp_release, '3.9', '<') ) {
|
219 |
+
$path = S2URL . 'tinymce/editor_plugin3' . $this->script_debug . '.js';
|
220 |
+
} else {
|
221 |
+
$path = S2URL . 'tinymce/editor_plugin4' . $this->script_debug . '.js';
|
222 |
+
}
|
223 |
$arr['subscribe2'] = $path;
|
224 |
return $arr;
|
225 |
+
} // end mce_plugin()
|
226 |
|
227 |
+
function mce_button($arr) {
|
228 |
$arr[] = 'subscribe2';
|
229 |
return $arr;
|
230 |
+
} // end mce_button()
|
231 |
|
232 |
/* ===== widget functions ===== */
|
233 |
/**
|
709 |
echo "</select>\r\n";
|
710 |
echo "<a href=\"#\" onclick=\"s2_cron_update('cron'); return false;\">". __('Update', 'subscribe2') . "</a>\n";
|
711 |
echo "<a href=\"#\" onclick=\"s2_cron_revert('cron'); return false;\">". __('Revert', 'subscribe2') . "</a></span>\n";
|
712 |
+
if ( !empty($this->subscribe2_options['last_s2cron']) ) {
|
713 |
echo "<p>" . __('Attempt to resend the last Digest Notification email', 'subscribe2') . ": ";
|
714 |
echo "<input type=\"submit\" class=\"button-secondary\" name=\"resend\" value=\"" . __('Resend Digest', 'subscribe2') . "\" /></p>\r\n";
|
715 |
}
|
classes/class-s2-core.php
CHANGED
@@ -11,58 +11,6 @@ class s2class {
|
|
11 |
load_textdomain('subscribe2', $mofile);
|
12 |
} // end load_translations()
|
13 |
|
14 |
-
/**
|
15 |
-
Load all our strings
|
16 |
-
*/
|
17 |
-
function load_strings() {
|
18 |
-
// adjust the output of Subscribe2 here
|
19 |
-
|
20 |
-
$this->please_log_in = "<p class=\"s2_message\">" . sprintf(__('To manage your subscription options please <a href="%1$s">login.</a>', 'subscribe2'), get_option('siteurl') . '/wp-login.php') . "</p>";
|
21 |
-
|
22 |
-
$this->profile = "<p class=\"s2_message\">" . sprintf(__('You may manage your subscription options from your <a href="%1$s">profile</a>', 'subscribe2'), get_option('siteurl') . "/wp-admin/admin.php?page=s2") . "</p>";
|
23 |
-
if ( $this->s2_mu === true ) {
|
24 |
-
global $blog_id;
|
25 |
-
$user_ID = get_current_user_id();
|
26 |
-
if ( !is_user_member_of_blog($user_ID, $blog_id) ) {
|
27 |
-
// if we are on multisite and the user is not a member of this blog change the link
|
28 |
-
$this->profile = "<p class=\"s2_message\">" . sprintf(__('<a href="%1$s">Subscribe</a> to email notifications when this blog posts new content.', 'subscribe2'), get_option('siteurl') . "/wp-admin/?s2mu_subscribe=" . $blog_id) . "</p>";
|
29 |
-
}
|
30 |
-
}
|
31 |
-
|
32 |
-
$this->confirmation_sent = "<p class=\"s2_message\">" . __('A confirmation message is on its way!', 'subscribe2') . "</p>";
|
33 |
-
|
34 |
-
$this->already_subscribed = "<p class=\"s2_error\">" . __('That email address is already subscribed.', 'subscribe2') . "</p>";
|
35 |
-
|
36 |
-
$this->not_subscribed = "<p class=\"s2_error\">" . __('That email address is not subscribed.', 'subscribe2') . "</p>";
|
37 |
-
|
38 |
-
$this->not_an_email = "<p class=\"s2_error\">" . __('Sorry, but that does not look like an email address to me.', 'subscribe2') . "</p>";
|
39 |
-
|
40 |
-
$this->barred_domain = "<p class=\"s2_error\">" . __('Sorry, email addresses at that domain are currently barred due to spam, please use an alternative email address.', 'subscribe2') . "</p>";
|
41 |
-
|
42 |
-
$this->error = "<p class=\"s2_error\">" . __('Sorry, there seems to be an error on the server. Please try again later.', 'subscribe2') . "</p>";
|
43 |
-
|
44 |
-
$this->no_page = __('You must create a WordPress page for this plugin to work correctly.', 'subscribe2');
|
45 |
-
|
46 |
-
$this->mail_sent = "<p class=\"s2_message\">" . __('Message sent!', 'subscribe2') . "</p>";
|
47 |
-
|
48 |
-
$this->mail_failed = "<p class=\"s2_error\">" . __('Message failed!', 'subscribe2') . "</p>";
|
49 |
-
|
50 |
-
// confirmation messages
|
51 |
-
$this->no_such_email = "<p class=\"s2_error\">" . __('No such email address is registered.', 'subscribe2') . "</p>";
|
52 |
-
|
53 |
-
$this->added = "<p class=\"s2_message\">" . __('You have successfully subscribed!', 'subscribe2') . "</p>";
|
54 |
-
|
55 |
-
$this->deleted = "<p class=\"s2_message\">" . __('You have successfully unsubscribed.', 'subscribe2') . "</p>";
|
56 |
-
|
57 |
-
$this->subscribe = __('subscribe', 'subscribe2'); //ACTION replacement in subscribing confirmation email
|
58 |
-
|
59 |
-
$this->unsubscribe = __('unsubscribe', 'subscribe2'); //ACTION replacement in unsubscribing in confirmation email
|
60 |
-
|
61 |
-
// menu strings
|
62 |
-
$this->options_saved = __('Options saved!', 'subscribe2');
|
63 |
-
$this->options_reset = __('Options reset!', 'subscribe2');
|
64 |
-
} // end load_strings()
|
65 |
-
|
66 |
/* ===== Install, upgrade, reset ===== */
|
67 |
/**
|
68 |
Install our table
|
@@ -174,6 +122,10 @@ class s2class {
|
|
174 |
$this->subscribe2_options['version'] = '8.8';
|
175 |
update_option('subscribe2_options', $this->subscribe2_options);
|
176 |
}
|
|
|
|
|
|
|
|
|
177 |
|
178 |
$this->subscribe2_options['version'] = S2VERSION;
|
179 |
update_option('subscribe2_options', $this->subscribe2_options);
|
@@ -227,7 +179,7 @@ class s2class {
|
|
227 |
$string = str_replace("{TAGS}", $this->post_tag_names, $string);
|
228 |
$string = str_replace("{COUNT}", $this->post_count, $string);
|
229 |
|
230 |
-
return $string;
|
231 |
} // end substitute()
|
232 |
|
233 |
/**
|
@@ -249,8 +201,7 @@ class s2class {
|
|
249 |
}
|
250 |
} else {
|
251 |
$headers = $this->headers('text', $attachments);
|
252 |
-
$message =
|
253 |
-
$message = preg_replace('|&|', '&', $message);
|
254 |
$message = wordwrap(strip_tags($message), $this->word_wrap, "\n");
|
255 |
$mailtext = apply_filters('s2_plain_email', $message);
|
256 |
}
|
@@ -352,9 +303,10 @@ class s2class {
|
|
352 |
}
|
353 |
}
|
354 |
|
|
|
355 |
if ( function_exists('mb_encode_mimeheader') ) {
|
356 |
-
$header['From'] = mb_encode_mimeheader($this->myname,
|
357 |
-
$header['Reply-To'] = mb_encode_mimeheader($this->myname,
|
358 |
} else {
|
359 |
$header['From'] = $this->myname. " <" . $this->myemail . ">";
|
360 |
$header['Reply-To'] = $this->myname . " <" . $this->myemail . ">";
|
@@ -363,9 +315,9 @@ class s2class {
|
|
363 |
$header['Precedence'] = "list\nList-Id: " . html_entity_decode(get_option('blogname'), ENT_QUOTES) . "";
|
364 |
if ( empty($attachments) && $type == 'html' ) {
|
365 |
// To send HTML mail, the Content-Type header must be set
|
366 |
-
$header['Content-Type'] = get_option('html_type') . "; charset=\"".
|
367 |
} elseif ( empty($attachments) && $type == 'text' ) {
|
368 |
-
$header['Content-Type'] = "text/plain; charset=\"".
|
369 |
}
|
370 |
|
371 |
// apply header filter to allow on-the-fly amendments
|
@@ -617,6 +569,14 @@ class s2class {
|
|
617 |
}
|
618 |
}
|
619 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
620 |
// remove excess white space from with $excerpt and $plaintext
|
621 |
$excerpt = preg_replace('|[ ]+|', ' ', $excerpt);
|
622 |
$plaintext = preg_replace('|[ ]+|', ' ', $plaintext);
|
@@ -667,6 +627,23 @@ class s2class {
|
|
667 |
}
|
668 |
} // end publish()
|
669 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
670 |
/**
|
671 |
Send confirmation email to a public subscriber
|
672 |
*/
|
@@ -683,7 +660,7 @@ class s2class {
|
|
683 |
// HASH = wp_hash of email address
|
684 |
// ID = user's ID in the subscribe2 table
|
685 |
// use home instead of siteurl incase index.php is not in core wordpress directory
|
686 |
-
$link = get_option('home') . "/?s2=";
|
687 |
|
688 |
if ( 'add' == $what ) {
|
689 |
$link .= '1';
|
@@ -1124,7 +1101,7 @@ class s2class {
|
|
1124 |
$all_cats = array();
|
1125 |
$s2_taxonomies = apply_filters('s2_taxonomies', array('category'));
|
1126 |
|
1127 |
-
foreach( $s2_taxonomies as $taxonomy ) {
|
1128 |
if ( taxonomy_exists($taxonomy) ) {
|
1129 |
$all_cats = array_merge($all_cats, get_categories(array('hide_empty' => false, 'orderby' => $orderby, 'taxonomy' => $taxonomy)));
|
1130 |
}
|
@@ -1307,13 +1284,39 @@ class s2class {
|
|
1307 |
Add a weekly event to cron
|
1308 |
*/
|
1309 |
function add_weekly_sched($scheds) {
|
1310 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1311 |
|
1312 |
return $scheds;
|
1313 |
} // end add_weekly_sched()
|
1314 |
|
1315 |
/**
|
1316 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1317 |
*/
|
1318 |
function subscribe2_cron($preview = '', $resend = '') {
|
1319 |
if ( defined('DOING_S2_CRON') && DOING_S2_CRON ) { return; }
|
@@ -1321,17 +1324,6 @@ class s2class {
|
|
1321 |
global $wpdb, $post;
|
1322 |
|
1323 |
if ( '' == $preview ) {
|
1324 |
-
// update last_s2cron execution time before completing or bailing
|
1325 |
-
$now = current_time('mysql');
|
1326 |
-
$prev = $this->subscribe2_options['last_s2cron'];
|
1327 |
-
$last = $this->subscribe2_options['previous_s2cron'];
|
1328 |
-
$this->subscribe2_options['last_s2cron'] = $now;
|
1329 |
-
$this->subscribe2_options['previous_s2cron'] = $prev;
|
1330 |
-
if ( '' == $resend ) {
|
1331 |
-
// update sending times provided this is not a resend
|
1332 |
-
update_option('subscribe2_options', $this->subscribe2_options);
|
1333 |
-
}
|
1334 |
-
|
1335 |
// set up SQL query based on options
|
1336 |
if ( $this->subscribe2_options['private'] == 'yes' ) {
|
1337 |
$status = "'publish', 'private'";
|
@@ -1347,27 +1339,25 @@ class s2class {
|
|
1347 |
$s2_post_types = array('post');
|
1348 |
}
|
1349 |
$s2_post_types = apply_filters('s2_post_types', $s2_post_types);
|
1350 |
-
foreach( $s2_post_types as $post_type ) {
|
1351 |
('' == $type) ? $type = $wpdb->prepare("%s", $post_type) : $type .= $wpdb->prepare(", %s", $post_type);
|
1352 |
}
|
1353 |
|
1354 |
// collect posts
|
1355 |
if ( $resend == 'resend' ) {
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
|
|
1361 |
} else {
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
$posts = $wpdb->get_results($wpdb->prepare("SELECT ID, post_title, post_excerpt, post_content, post_type, post_password, post_date, post_author FROM $wpdb->posts WHERE post_date >= %s AND post_date < %s AND post_status IN ($status) AND post_type IN ($type) ORDER BY post_date ASC", $prev, $now));
|
1366 |
-
}
|
1367 |
}
|
1368 |
} else {
|
1369 |
// we are sending a preview
|
1370 |
-
$now = $prev = $last = current_time('mysql');
|
1371 |
$posts = get_posts('numberposts=1');
|
1372 |
}
|
1373 |
|
@@ -1393,11 +1383,11 @@ class s2class {
|
|
1393 |
$tablelinks = '';
|
1394 |
$message_post= '';
|
1395 |
$message_posttime = '';
|
|
|
1396 |
foreach ( $posts as $post ) {
|
1397 |
// keep an array of post ids and skip if we've already done it once
|
1398 |
if ( in_array($post->ID, $ids) ) { continue; }
|
1399 |
$ids[] = $post->ID;
|
1400 |
-
$s2_taxonomies = apply_filters('s2_taxonomies', array('category'));
|
1401 |
$post_cats = wp_get_object_terms($post->ID, $s2_taxonomies, array('fields' => 'ids'));
|
1402 |
$post_cats_string = implode(',', $post_cats);
|
1403 |
$all_post_cats = array_unique(array_merge($all_post_cats, $post_cats));
|
@@ -1436,6 +1426,13 @@ class s2class {
|
|
1436 |
if ( $check ) {
|
1437 |
continue;
|
1438 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1439 |
$post_title = html_entity_decode($post->post_title, ENT_QUOTES);
|
1440 |
('' == $table) ? $table .= "* " . $post_title : $table .= "\r\n* " . $post_title;
|
1441 |
('' == $tablelinks) ? $tablelinks .= "* " . $post_title : $tablelinks .= "\r\n* " . $post_title;
|
@@ -1506,6 +1503,12 @@ class s2class {
|
|
1506 |
$message_posttime .= $excerpt . "\r\n\r\n";
|
1507 |
}
|
1508 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1509 |
// we add a blank line after each post excerpt now trim white space that occurs for the last post
|
1510 |
$message_post = trim($message_post);
|
1511 |
$message_posttime = trim($message_posttime);
|
@@ -1515,9 +1518,13 @@ class s2class {
|
|
1515 |
$message_post = preg_replace("|[\r\n]{3,}|", "\r\n\r\n", $message_post);
|
1516 |
$message_posttime = preg_replace("|[\r\n]{3,}|", "\r\n\r\n", $message_posttime);
|
1517 |
|
|
|
|
|
|
|
|
|
1518 |
// apply filter to allow external content to be inserted or content manipulated
|
1519 |
-
$message_post = apply_filters('s2_digest_email', $message_post
|
1520 |
-
$message_posttime = apply_filters('s2_digest_email', $message_posttime
|
1521 |
|
1522 |
//sanity check - don't send a mail if the content is empty
|
1523 |
if ( !$message_post && !$message_posttime && !$table && !$tablelinks ) {
|
@@ -1568,13 +1575,21 @@ class s2class {
|
|
1568 |
if ( empty($old_unconfirmed) ) {
|
1569 |
return;
|
1570 |
} else {
|
1571 |
-
foreach ($old_unconfirmed as $email) {
|
1572 |
$this->delete($email);
|
1573 |
}
|
1574 |
}
|
1575 |
return;
|
1576 |
} // end s2cleaner_task()
|
1577 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1578 |
/* ===== Our constructor ===== */
|
1579 |
/**
|
1580 |
Subscribe2 constructor
|
@@ -1620,17 +1635,20 @@ class s2class {
|
|
1620 |
}
|
1621 |
|
1622 |
// add core actions
|
1623 |
-
add_filter('cron_schedules', array(&$this, 'add_weekly_sched'));
|
1624 |
// add actions for automatic subscription based on option settings
|
1625 |
-
add_action('register_form', array(&$this, 'register_form'));
|
1626 |
-
add_action('user_register', array(&$this, 'register_post'));
|
1627 |
if ( $this->s2_mu ) {
|
|
|
1628 |
add_action('add_user_to_blog', array(&$s2class_multisite, 'wpmu_add_user'), 10);
|
1629 |
add_action('remove_user_from_blog', array(&$s2class_multisite, 'wpmu_remove_user'), 10);
|
|
|
|
|
|
|
1630 |
}
|
1631 |
// add actions for processing posts based on per-post or cron email settings
|
1632 |
if ( $this->subscribe2_options['email_freq'] != 'never' ) {
|
1633 |
add_action('s2_digest_cron', array(&$this, 'subscribe2_cron'));
|
|
|
1634 |
} else {
|
1635 |
$statuses = apply_filters('s2_post_statuses', array('new', 'draft', 'auto-draft', 'pending'));
|
1636 |
if ( $this->subscribe2_options['private'] == 'yes' ) {
|
@@ -1645,6 +1663,7 @@ class s2class {
|
|
1645 |
}
|
1646 |
// add actions for comment subscribers
|
1647 |
if ( 'no' != $this->subscribe2_options['comment_subs'] ) {
|
|
|
1648 |
if ( 'before' == $this->subscribe2_options['comment_subs'] ) {
|
1649 |
add_action('comment_form_after_fields', array(&$this, 's2_comment_meta_form'));
|
1650 |
} else {
|
@@ -1669,9 +1688,6 @@ class s2class {
|
|
1669 |
|
1670 |
// Add actions specific to admin or frontend
|
1671 |
if ( is_admin() ) {
|
1672 |
-
// load strings
|
1673 |
-
add_action('init', array(&$this, 'load_strings'));
|
1674 |
-
|
1675 |
//add menu, authoring and category admin actions
|
1676 |
add_action('admin_menu', array(&$this, 'admin_menu'));
|
1677 |
add_action('admin_menu', array(&$this, 's2_meta_init'));
|
@@ -1755,6 +1771,7 @@ class s2class {
|
|
1755 |
$this->excerpt_length = apply_filters('s2_excerpt_length', 55);
|
1756 |
$this->site_switching = apply_filters('s2_allow_site_switching', false);
|
1757 |
$this->clean_interval = apply_filters('s2_clean_interval', 28);
|
|
|
1758 |
} // end __construct()
|
1759 |
|
1760 |
/* ===== our variables ===== */
|
@@ -1808,7 +1825,5 @@ class s2class {
|
|
1808 |
var $subscribe = '';
|
1809 |
var $unsubscribe = '';
|
1810 |
var $confirm_subject = '';
|
1811 |
-
var $options_saved = '';
|
1812 |
-
var $options_reset = '';
|
1813 |
} // end class subscribe2
|
1814 |
?>
|
11 |
load_textdomain('subscribe2', $mofile);
|
12 |
} // end load_translations()
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
/* ===== Install, upgrade, reset ===== */
|
15 |
/**
|
16 |
Install our table
|
122 |
$this->subscribe2_options['version'] = '8.8';
|
123 |
update_option('subscribe2_options', $this->subscribe2_options);
|
124 |
}
|
125 |
+
if ( version_compare($this->subscribe2_options['version'], '10.0', '<') ) {
|
126 |
+
$s2_upgrade->upgrade100();
|
127 |
+
$this->subscribe2_options['version'] = '10.0';
|
128 |
+
}
|
129 |
|
130 |
$this->subscribe2_options['version'] = S2VERSION;
|
131 |
update_option('subscribe2_options', $this->subscribe2_options);
|
179 |
$string = str_replace("{TAGS}", $this->post_tag_names, $string);
|
180 |
$string = str_replace("{COUNT}", $this->post_count, $string);
|
181 |
|
182 |
+
return apply_filters('s2_custom_keywords', $string);
|
183 |
} // end substitute()
|
184 |
|
185 |
/**
|
201 |
}
|
202 |
} else {
|
203 |
$headers = $this->headers('text', $attachments);
|
204 |
+
$message = html_entity_decode($message, ENT_NOQUOTES, 'UTF-8');
|
|
|
205 |
$message = wordwrap(strip_tags($message), $this->word_wrap, "\n");
|
206 |
$mailtext = apply_filters('s2_plain_email', $message);
|
207 |
}
|
303 |
}
|
304 |
}
|
305 |
|
306 |
+
$char_set = get_option('blog_charset');
|
307 |
if ( function_exists('mb_encode_mimeheader') ) {
|
308 |
+
$header['From'] = mb_encode_mimeheader($this->myname, $char_set, 'Q') . " <" . $this->myemail . ">";
|
309 |
+
$header['Reply-To'] = mb_encode_mimeheader($this->myname, $char_set, 'Q') . " <" . $this->myemail . ">";
|
310 |
} else {
|
311 |
$header['From'] = $this->myname. " <" . $this->myemail . ">";
|
312 |
$header['Reply-To'] = $this->myname . " <" . $this->myemail . ">";
|
315 |
$header['Precedence'] = "list\nList-Id: " . html_entity_decode(get_option('blogname'), ENT_QUOTES) . "";
|
316 |
if ( empty($attachments) && $type == 'html' ) {
|
317 |
// To send HTML mail, the Content-Type header must be set
|
318 |
+
$header['Content-Type'] = get_option('html_type') . "; charset=\"". $char_set . "\"";
|
319 |
} elseif ( empty($attachments) && $type == 'text' ) {
|
320 |
+
$header['Content-Type'] = "text/plain; charset=\"". $char_set . "\"";
|
321 |
}
|
322 |
|
323 |
// apply header filter to allow on-the-fly amendments
|
569 |
}
|
570 |
}
|
571 |
|
572 |
+
// maybe add social media sharing buttons
|
573 |
+
$social = apply_filters('s2_social_links', array('facebook', 'twitter'));
|
574 |
+
if ( !empty($social) ) {
|
575 |
+
$social_buttons = $this->social_buttons($social);
|
576 |
+
$content .= $social_buttons;
|
577 |
+
$html_excerpt .= $social_buttons;
|
578 |
+
}
|
579 |
+
|
580 |
// remove excess white space from with $excerpt and $plaintext
|
581 |
$excerpt = preg_replace('|[ ]+|', ' ', $excerpt);
|
582 |
$plaintext = preg_replace('|[ ]+|', ' ', $plaintext);
|
627 |
}
|
628 |
} // end publish()
|
629 |
|
630 |
+
/**
|
631 |
+
Function to create social network sharing buttons
|
632 |
+
*/
|
633 |
+
function social_buttons($social) {
|
634 |
+
$social_buttons = '';
|
635 |
+
if ( in_array('facebook', $social) ) {
|
636 |
+
$social_buttons .= '<a href="http://api.addthis.com/oexchange/0.8/forward/facebook/offer?url=' . urlencode($this->permalink) . '" target="_blank" ><img src="http://cache.addthiscdn.com/icons/v1/thumbs/facebook.gif" border="0" style="margin: 1px;" alt="' . __('Like', 'subscribe2') . '" /></a>';
|
637 |
+
}
|
638 |
+
if ( in_array('twitter', $social) ) {
|
639 |
+
$social_buttons .= '<a href="http://api.addthis.com/oexchange/0.8/forward/twitter/offer?url=' . urlencode($this->permalink) . '&title=' . urlencode(strip_tags($this->post_title)) . '" target="_blank" ><img src="http://cache.addthiscdn.com/icons/v1/thumbs/twitter.gif" border="0" style="margin: 1px;" alt="' . __('Tweet', 'subscribe2') . '" /></a>';
|
640 |
+
}
|
641 |
+
if ( in_array('google', $social) ) {
|
642 |
+
$social_buttons .= '<a href="http://api.addthis.com/oexchange/0.8/forward/google_plusone_share/offer?url=' . urlencode($this->permalink) . '&title=' . urlencode(strip_tags($this->post_title)) . '" target="_blank" ><img src="http://cache.addthiscdn.com/icons/v1/thumbs/google_plusone.gif" border="0" style="margin: 1px;" alt="' . __('Google+', 'subscribe2') . '" /></a>';
|
643 |
+
}
|
644 |
+
return apply_filters('s2_social_buttons', $social_buttons);
|
645 |
+
} // end social_buttons()
|
646 |
+
|
647 |
/**
|
648 |
Send confirmation email to a public subscriber
|
649 |
*/
|
660 |
// HASH = wp_hash of email address
|
661 |
// ID = user's ID in the subscribe2 table
|
662 |
// use home instead of siteurl incase index.php is not in core wordpress directory
|
663 |
+
$link = apply_filters('s2_confirm_link', get_option('home')) . "/?s2=";
|
664 |
|
665 |
if ( 'add' == $what ) {
|
666 |
$link .= '1';
|
1101 |
$all_cats = array();
|
1102 |
$s2_taxonomies = apply_filters('s2_taxonomies', array('category'));
|
1103 |
|
1104 |
+
foreach ( $s2_taxonomies as $taxonomy ) {
|
1105 |
if ( taxonomy_exists($taxonomy) ) {
|
1106 |
$all_cats = array_merge($all_cats, get_categories(array('hide_empty' => false, 'orderby' => $orderby, 'taxonomy' => $taxonomy)));
|
1107 |
}
|
1284 |
Add a weekly event to cron
|
1285 |
*/
|
1286 |
function add_weekly_sched($scheds) {
|
1287 |
+
$exists = false;
|
1288 |
+
foreach ( $scheds as $sched ) {
|
1289 |
+
if ( array_search(604800, $sched) ) {
|
1290 |
+
$exists = true;
|
1291 |
+
}
|
1292 |
+
}
|
1293 |
+
|
1294 |
+
if ( !$exists ) {
|
1295 |
+
$scheds['weekly'] = array('interval' => 604800, 'display' => __('Weekly', 'subscribe2'));
|
1296 |
+
}
|
1297 |
|
1298 |
return $scheds;
|
1299 |
} // end add_weekly_sched()
|
1300 |
|
1301 |
/**
|
1302 |
+
Handle post transitions for the digest email
|
1303 |
+
*/
|
1304 |
+
function digest_post_transitions($new_status, $old_status, $post) {
|
1305 |
+
if ( $new_status === $old_status ) { return; }
|
1306 |
+
|
1307 |
+
if ( $this->subscribe2_options['pages'] == 'yes' ) {
|
1308 |
+
$s2_post_types = array('page', 'post');
|
1309 |
+
} else {
|
1310 |
+
$s2_post_types = array('post');
|
1311 |
+
}
|
1312 |
+
$s2_post_types = apply_filters('s2_post_types', $s2_post_types);
|
1313 |
+
if ( !in_array($post->post_type, $s2_post_types) ) { return; }
|
1314 |
+
|
1315 |
+
update_post_meta( $post->ID, '_s2_digest_post_status', ( 'publish' === $new_status ) ? 'pending' : 'draft' );
|
1316 |
+
} // end digest_post_transitions()
|
1317 |
+
|
1318 |
+
/**
|
1319 |
+
Send a daily digest of today's new posts
|
1320 |
*/
|
1321 |
function subscribe2_cron($preview = '', $resend = '') {
|
1322 |
if ( defined('DOING_S2_CRON') && DOING_S2_CRON ) { return; }
|
1324 |
global $wpdb, $post;
|
1325 |
|
1326 |
if ( '' == $preview ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1327 |
// set up SQL query based on options
|
1328 |
if ( $this->subscribe2_options['private'] == 'yes' ) {
|
1329 |
$status = "'publish', 'private'";
|
1339 |
$s2_post_types = array('post');
|
1340 |
}
|
1341 |
$s2_post_types = apply_filters('s2_post_types', $s2_post_types);
|
1342 |
+
foreach ( $s2_post_types as $post_type ) {
|
1343 |
('' == $type) ? $type = $wpdb->prepare("%s", $post_type) : $type .= $wpdb->prepare(", %s", $post_type);
|
1344 |
}
|
1345 |
|
1346 |
// collect posts
|
1347 |
if ( $resend == 'resend' ) {
|
1348 |
+
$query = new WP_Query( array(
|
1349 |
+
'post__in' => explode(',', $this->subscribe2_options['last_s2cron']),
|
1350 |
+
'ignore_sticky_posts' => 1,
|
1351 |
+
'order' => ($this->subscribe2_options['cron_order'] === 'desc') ? "DESC" : "ASC"
|
1352 |
+
) );
|
1353 |
+
$posts = $query->posts;
|
1354 |
} else {
|
1355 |
+
$sql = "SELECT ID, post_title, post_excerpt, post_content, post_type, post_password, post_date, post_author FROM $wpdb->posts AS a INNER JOIN $wpdb->postmeta AS b ON b.post_id = a.ID";
|
1356 |
+
$sql .= " AND b.meta_key = '_s2_digest_post_status' AND b.meta_value = 'pending' WHERE post_status IN ($status) AND post_type IN ($type) ORDER BY post_date " . (($this->subscribe2_options['cron_order'] === 'desc') ? 'DESC' : 'ASC');
|
1357 |
+
$posts = $wpdb->get_results($sql);
|
|
|
|
|
1358 |
}
|
1359 |
} else {
|
1360 |
// we are sending a preview
|
|
|
1361 |
$posts = get_posts('numberposts=1');
|
1362 |
}
|
1363 |
|
1383 |
$tablelinks = '';
|
1384 |
$message_post= '';
|
1385 |
$message_posttime = '';
|
1386 |
+
$s2_taxonomies = apply_filters('s2_taxonomies', array('category'));
|
1387 |
foreach ( $posts as $post ) {
|
1388 |
// keep an array of post ids and skip if we've already done it once
|
1389 |
if ( in_array($post->ID, $ids) ) { continue; }
|
1390 |
$ids[] = $post->ID;
|
|
|
1391 |
$post_cats = wp_get_object_terms($post->ID, $s2_taxonomies, array('fields' => 'ids'));
|
1392 |
$post_cats_string = implode(',', $post_cats);
|
1393 |
$all_post_cats = array_unique(array_merge($all_post_cats, $post_cats));
|
1426 |
if ( $check ) {
|
1427 |
continue;
|
1428 |
}
|
1429 |
+
|
1430 |
+
if ( isset($sticky_ids) && !in_array($post->ID, $sticky_ids) ) {
|
1431 |
+
$digest_post_ids[] = $post->ID;
|
1432 |
+
} else {
|
1433 |
+
$digest_post_ids[] = $post->ID;
|
1434 |
+
}
|
1435 |
+
|
1436 |
$post_title = html_entity_decode($post->post_title, ENT_QUOTES);
|
1437 |
('' == $table) ? $table .= "* " . $post_title : $table .= "\r\n* " . $post_title;
|
1438 |
('' == $tablelinks) ? $tablelinks .= "* " . $post_title : $tablelinks .= "\r\n* " . $post_title;
|
1503 |
$message_posttime .= $excerpt . "\r\n\r\n";
|
1504 |
}
|
1505 |
|
1506 |
+
foreach ( $digest_post_ids as $digest_post_id ) {
|
1507 |
+
update_post_meta($digest_post_id, '_s2_digest_post_status', 'done');
|
1508 |
+
}
|
1509 |
+
$this->subscribe2_options['last_s2cron'] = implode(',', $digest_post_ids);
|
1510 |
+
update_option('subscribe2_options', $this->subscribe2_options);
|
1511 |
+
|
1512 |
// we add a blank line after each post excerpt now trim white space that occurs for the last post
|
1513 |
$message_post = trim($message_post);
|
1514 |
$message_posttime = trim($message_posttime);
|
1518 |
$message_post = preg_replace("|[\r\n]{3,}|", "\r\n\r\n", $message_post);
|
1519 |
$message_posttime = preg_replace("|[\r\n]{3,}|", "\r\n\r\n", $message_posttime);
|
1520 |
|
1521 |
+
// apply filter to allow custom keywords
|
1522 |
+
$message_post = apply_filters('s2_custom_keywords', $message_post, $digest_post_ids);
|
1523 |
+
$message_posttime = apply_filters('s2_custom_keywords', $message_posttime, $digest_post_ids);
|
1524 |
+
|
1525 |
// apply filter to allow external content to be inserted or content manipulated
|
1526 |
+
$message_post = apply_filters('s2_digest_email', $message_post);
|
1527 |
+
$message_posttime = apply_filters('s2_digest_email', $message_posttime);
|
1528 |
|
1529 |
//sanity check - don't send a mail if the content is empty
|
1530 |
if ( !$message_post && !$message_posttime && !$table && !$tablelinks ) {
|
1575 |
if ( empty($old_unconfirmed) ) {
|
1576 |
return;
|
1577 |
} else {
|
1578 |
+
foreach ( $old_unconfirmed as $email ) {
|
1579 |
$this->delete($email);
|
1580 |
}
|
1581 |
}
|
1582 |
return;
|
1583 |
} // end s2cleaner_task()
|
1584 |
|
1585 |
+
/**
|
1586 |
+
Jetpack comments doesn't play nice, this function kills that module
|
1587 |
+
*/
|
1588 |
+
function s2_hide_jetpack_comments($modules) {
|
1589 |
+
unset( $modules['stats'] );
|
1590 |
+
return $modules;
|
1591 |
+
} // end s2_kill_jetpack_comments()
|
1592 |
+
|
1593 |
/* ===== Our constructor ===== */
|
1594 |
/**
|
1595 |
Subscribe2 constructor
|
1635 |
}
|
1636 |
|
1637 |
// add core actions
|
1638 |
+
add_filter('cron_schedules', array(&$this, 'add_weekly_sched'), 20);
|
1639 |
// add actions for automatic subscription based on option settings
|
|
|
|
|
1640 |
if ( $this->s2_mu ) {
|
1641 |
+
add_action('wpmu_activate_user', array(&$s2class_multisite, 'wpmu_add_user'));
|
1642 |
add_action('add_user_to_blog', array(&$s2class_multisite, 'wpmu_add_user'), 10);
|
1643 |
add_action('remove_user_from_blog', array(&$s2class_multisite, 'wpmu_remove_user'), 10);
|
1644 |
+
} else {
|
1645 |
+
add_action('register_form', array(&$this, 'register_form'));
|
1646 |
+
add_action('user_register', array(&$this, 'register_post'));
|
1647 |
}
|
1648 |
// add actions for processing posts based on per-post or cron email settings
|
1649 |
if ( $this->subscribe2_options['email_freq'] != 'never' ) {
|
1650 |
add_action('s2_digest_cron', array(&$this, 'subscribe2_cron'));
|
1651 |
+
add_action('transition_post_status', array(&$this, 'digest_post_transitions'), 10, 3);
|
1652 |
} else {
|
1653 |
$statuses = apply_filters('s2_post_statuses', array('new', 'draft', 'auto-draft', 'pending'));
|
1654 |
if ( $this->subscribe2_options['private'] == 'yes' ) {
|
1663 |
}
|
1664 |
// add actions for comment subscribers
|
1665 |
if ( 'no' != $this->subscribe2_options['comment_subs'] ) {
|
1666 |
+
add_filter('jetpack_get_available_modules', array(&$this, 's2_hide_jetpack_comments'));
|
1667 |
if ( 'before' == $this->subscribe2_options['comment_subs'] ) {
|
1668 |
add_action('comment_form_after_fields', array(&$this, 's2_comment_meta_form'));
|
1669 |
} else {
|
1688 |
|
1689 |
// Add actions specific to admin or frontend
|
1690 |
if ( is_admin() ) {
|
|
|
|
|
|
|
1691 |
//add menu, authoring and category admin actions
|
1692 |
add_action('admin_menu', array(&$this, 'admin_menu'));
|
1693 |
add_action('admin_menu', array(&$this, 's2_meta_init'));
|
1771 |
$this->excerpt_length = apply_filters('s2_excerpt_length', 55);
|
1772 |
$this->site_switching = apply_filters('s2_allow_site_switching', false);
|
1773 |
$this->clean_interval = apply_filters('s2_clean_interval', 28);
|
1774 |
+
$this->lockout = apply_filters('s2_lockout', 0);
|
1775 |
} // end __construct()
|
1776 |
|
1777 |
/* ===== our variables ===== */
|
1825 |
var $subscribe = '';
|
1826 |
var $unsubscribe = '';
|
1827 |
var $confirm_subject = '';
|
|
|
|
|
1828 |
} // end class subscribe2
|
1829 |
?>
|
classes/class-s2-frontend.php
CHANGED
@@ -1,5 +1,45 @@
|
|
1 |
<?php
|
2 |
class s2_frontend extends s2class {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
/* ===== template and filter functions ===== */
|
4 |
/**
|
5 |
Display our form; also handles (un)subscribe requests
|
@@ -99,6 +139,13 @@ class s2_frontend extends s2class {
|
|
99 |
$this->s2form = $this->form . $this->barred_domain;
|
100 |
} else {
|
101 |
$this->ip = $_POST['ip'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
// does the supplied email belong to a registered user?
|
103 |
$check = $wpdb->get_var($wpdb->prepare("SELECT user_email FROM $wpdb->users WHERE user_email = %s", $this->email));
|
104 |
if ( '' != $check ) {
|
1 |
<?php
|
2 |
class s2_frontend extends s2class {
|
3 |
+
/**
|
4 |
+
Load all our strings
|
5 |
+
*/
|
6 |
+
function load_strings() {
|
7 |
+
$this->please_log_in = "<p class=\"s2_message\">" . sprintf(__('To manage your subscription options please <a href="%1$s">login.</a>', 'subscribe2'), get_option('siteurl') . '/wp-login.php') . "</p>";
|
8 |
+
|
9 |
+
$this->profile = "<p class=\"s2_message\">" . sprintf(__('You may manage your subscription options from your <a href="%1$s">profile</a>', 'subscribe2'), get_option('siteurl') . "/wp-admin/admin.php?page=s2") . "</p>";
|
10 |
+
if ( $this->s2_mu === true ) {
|
11 |
+
global $blog_id;
|
12 |
+
$user_ID = get_current_user_id();
|
13 |
+
if ( !is_user_member_of_blog($user_ID, $blog_id) ) {
|
14 |
+
// if we are on multisite and the user is not a member of this blog change the link
|
15 |
+
$this->profile = "<p class=\"s2_message\">" . sprintf(__('<a href="%1$s">Subscribe</a> to email notifications when this blog posts new content.', 'subscribe2'), get_option('siteurl') . "/wp-admin/?s2mu_subscribe=" . $blog_id) . "</p>";
|
16 |
+
}
|
17 |
+
}
|
18 |
+
|
19 |
+
$this->confirmation_sent = "<p class=\"s2_message\">" . __('A confirmation message is on its way!', 'subscribe2') . "</p>";
|
20 |
+
|
21 |
+
$this->already_subscribed = "<p class=\"s2_error\">" . __('That email address is already subscribed.', 'subscribe2') . "</p>";
|
22 |
+
|
23 |
+
$this->not_subscribed = "<p class=\"s2_error\">" . __('That email address is not subscribed.', 'subscribe2') . "</p>";
|
24 |
+
|
25 |
+
$this->not_an_email = "<p class=\"s2_error\">" . __('Sorry, but that does not look like an email address to me.', 'subscribe2') . "</p>";
|
26 |
+
|
27 |
+
$this->barred_domain = "<p class=\"s2_error\">" . __('Sorry, email addresses at that domain are currently barred due to spam, please use an alternative email address.', 'subscribe2') . "</p>";
|
28 |
+
|
29 |
+
$this->error = "<p class=\"s2_error\">" . __('Sorry, there seems to be an error on the server. Please try again later.', 'subscribe2') . "</p>";
|
30 |
+
|
31 |
+
// confirmation messages
|
32 |
+
$this->no_such_email = "<p class=\"s2_error\">" . __('No such email address is registered.', 'subscribe2') . "</p>";
|
33 |
+
|
34 |
+
$this->added = "<p class=\"s2_message\">" . __('You have successfully subscribed!', 'subscribe2') . "</p>";
|
35 |
+
|
36 |
+
$this->deleted = "<p class=\"s2_message\">" . __('You have successfully unsubscribed.', 'subscribe2') . "</p>";
|
37 |
+
|
38 |
+
/**/$this->subscribe = __('subscribe', 'subscribe2'); //ACTION replacement in subscribing confirmation email
|
39 |
+
|
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
|
139 |
$this->s2form = $this->form . $this->barred_domain;
|
140 |
} else {
|
141 |
$this->ip = $_POST['ip'];
|
142 |
+
if ( is_int($this->lockout) && $this->lockout > 0 ) {
|
143 |
+
$date = date('H:i:s.u', $this->lockout);
|
144 |
+
$ips = $wpdb->get_col($wpdb->prepare("SELECT ip FROM $this->public WHERE date = CURDATE() AND time > SUBTIME(CURTIME(), %s)", $date));
|
145 |
+
if ( in_array($this->ip, $ips) ) {
|
146 |
+
return __('Slow down, you move too fast.', 'subscribe2');
|
147 |
+
}
|
148 |
+
}
|
149 |
// does the supplied email belong to a registered user?
|
150 |
$check = $wpdb->get_var($wpdb->prepare("SELECT user_email FROM $wpdb->users WHERE user_email = %s", $this->email));
|
151 |
if ( '' != $check ) {
|
classes/class-s2-list-table.php
CHANGED
@@ -33,7 +33,7 @@ class Subscribe2_List_Table extends WP_List_Table {
|
|
33 |
function column_email($item) {
|
34 |
global $current_tab;
|
35 |
if ( $current_tab == 'registered' ) {
|
36 |
-
$actions = array('edit' => sprintf('<a href="?page=%s&email=%s">%s</a>', 's2', $item['email'], __('Edit', 'subscribe2')));
|
37 |
return sprintf('%1$s %2$s', $item['email'], $this->row_actions($actions));
|
38 |
} else {
|
39 |
global $mysubscribe2;
|
33 |
function column_email($item) {
|
34 |
global $current_tab;
|
35 |
if ( $current_tab == 'registered' ) {
|
36 |
+
$actions = array('edit' => sprintf('<a href="?page=%s&email=%s">%s</a>', 's2', urlencode($item['email']), __('Edit', 'subscribe2')));
|
37 |
return sprintf('%1$s %2$s', $item['email'], $this->row_actions($actions));
|
38 |
} else {
|
39 |
global $mysubscribe2;
|
classes/class-s2-multisite.php
CHANGED
@@ -101,7 +101,7 @@ class s2_multisite {
|
|
101 |
return array();
|
102 |
}
|
103 |
|
104 |
-
return $blog_list;
|
105 |
} // end get_mu_blog_list()
|
106 |
|
107 |
/**
|
101 |
return array();
|
102 |
}
|
103 |
|
104 |
+
return apply_filters('s2_mu_blog_list', $blog_list);
|
105 |
} // end get_mu_blog_list()
|
106 |
|
107 |
/**
|
classes/class-s2-upgrade.php
CHANGED
@@ -26,6 +26,8 @@ class s2class_upgrade {
|
|
26 |
}
|
27 |
}
|
28 |
}
|
|
|
|
|
29 |
} // end upgrade_core()
|
30 |
|
31 |
function upgrade23() {
|
@@ -238,7 +240,7 @@ class s2class_upgrade {
|
|
238 |
function upgrade70() {
|
239 |
global $mysubscribe2;
|
240 |
if ( version_compare($mysubscribe2->wp_release, '3.5', '<') ) {
|
241 |
-
$users = $mysubscribe2->
|
242 |
foreach ( $users as $user_ID ) {
|
243 |
$check_authors = get_user_meta($user_ID, $mysubscribe2->get_usermeta_keyname('s2_authors'), true);
|
244 |
if ( empty($check_authors) ) {
|
@@ -338,5 +340,13 @@ class s2class_upgrade {
|
|
338 |
}
|
339 |
maybe_add_column($mysubscribe2->public, 'time', "ALTER TABLE $mysubscribe2->public ADD time TIME DEFAULT '00:00:00' NOT NULL AFTER date");
|
340 |
} // end upgrade88()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
341 |
}
|
342 |
?>
|
26 |
}
|
27 |
}
|
28 |
}
|
29 |
+
// let's make sure that the 's2_authors' key exists on every site for all Registered Users too
|
30 |
+
$this->upgrade70();
|
31 |
} // end upgrade_core()
|
32 |
|
33 |
function upgrade23() {
|
240 |
function upgrade70() {
|
241 |
global $mysubscribe2;
|
242 |
if ( version_compare($mysubscribe2->wp_release, '3.5', '<') ) {
|
243 |
+
$users = $wpdb->get_col($wpdb->prepare("SELECT ID from $wpdb->users WHERE ID NOT IN (SELECT user_id from $wpdb->usermeta WHERE meta_key=%s", $mysubscribe2->get_usermeta_keyname('s2_authors')));
|
244 |
foreach ( $users as $user_ID ) {
|
245 |
$check_authors = get_user_meta($user_ID, $mysubscribe2->get_usermeta_keyname('s2_authors'), true);
|
246 |
if ( empty($check_authors) ) {
|
340 |
}
|
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 |
?>
|
include/options.php
CHANGED
@@ -111,7 +111,7 @@ if (!isset($this->subscribe2_options['ajax'])) {
|
|
111 |
} // option to enable an AJAX style form
|
112 |
|
113 |
if (!isset($this->subscribe2_options['widget'])) {
|
114 |
-
$this->subscribe2_options['widget'] = "
|
115 |
} // option to enable Subscribe2 Widget
|
116 |
|
117 |
if (!isset($this->subscribe2_options['counterwidget'])) {
|
111 |
} // option to enable an AJAX style form
|
112 |
|
113 |
if (!isset($this->subscribe2_options['widget'])) {
|
114 |
+
$this->subscribe2_options['widget'] = "1";
|
115 |
} // option to enable Subscribe2 Widget
|
116 |
|
117 |
if (!isset($this->subscribe2_options['counterwidget'])) {
|
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: 9.
|
7 |
Author: Matthew Robinson
|
8 |
Author URI: http://subscribe2.wordpress.com
|
9 |
Licence: GPL3
|
@@ -12,7 +12,7 @@ Text Domain: subscribe2
|
|
12 |
*/
|
13 |
|
14 |
/*
|
15 |
-
Copyright (C) 2006-
|
16 |
Based on the Original Subscribe2 plugin by
|
17 |
Copyright (C) 2005 Scott Merrill (skippy@skippy.net)
|
18 |
|
@@ -55,7 +55,7 @@ if ( is_plugin_active_for_network(plugin_basename(__FILE__)) ) {
|
|
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', '9.
|
59 |
define( 'S2PATH', trailingslashit(dirname(__FILE__)) );
|
60 |
define( 'S2DIR', trailingslashit(dirname(plugin_basename(__FILE__))) );
|
61 |
define( 'S2URL', plugin_dir_url(dirname(__FILE__)) . S2DIR );
|
3 |
Plugin Name: Subscribe2
|
4 |
Plugin URI: http://subscribe2.wordpress.com
|
5 |
Description: Notifies an email list when new entries are posted.
|
6 |
+
Version: 9.3
|
7 |
Author: Matthew Robinson
|
8 |
Author URI: http://subscribe2.wordpress.com
|
9 |
Licence: GPL3
|
12 |
*/
|
13 |
|
14 |
/*
|
15 |
+
Copyright (C) 2006-14 Matthew Robinson
|
16 |
Based on the Original Subscribe2 plugin by
|
17 |
Copyright (C) 2005 Scott Merrill (skippy@skippy.net)
|
18 |
|
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', '9.3' );
|
59 |
define( 'S2PATH', trailingslashit(dirname(__FILE__)) );
|
60 |
define( 'S2DIR', trailingslashit(dirname(plugin_basename(__FILE__))) );
|
61 |
define( 'S2URL', plugin_dir_url(dirname(__FILE__)) . S2DIR );
|
subscribe2.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the Subscribe2 package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Subscribe2 9.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/Subscribe2\n"
|
7 |
-
"POT-Creation-Date: 2014-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -24,6 +24,14 @@ msgstr ""
|
|
24 |
msgid "Preview message sent!"
|
25 |
msgstr ""
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
#: admin/send_email.php:99
|
28 |
msgid "Send an email to subscribers"
|
29 |
msgstr ""
|
@@ -52,6 +60,10 @@ msgstr ""
|
|
52 |
msgid "Send"
|
53 |
msgstr ""
|
54 |
|
|
|
|
|
|
|
|
|
55 |
#: admin/settings.php:24
|
56 |
msgid "Preview message(s) sent to logged in user"
|
57 |
msgstr ""
|
@@ -66,471 +78,479 @@ msgstr ""
|
|
66 |
msgid "Attempt made to resend the Digest Notification email"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: admin/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
msgid ""
|
71 |
"Your chosen email type (per-post or digest) does not support the following "
|
72 |
"keywords:"
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: admin/settings.php:
|
76 |
msgid "Modify your template"
|
77 |
msgstr ""
|
78 |
|
79 |
-
#: admin/settings.php:
|
80 |
msgid ""
|
81 |
-
"You appear to be sending notifications from
|
82 |
-
"
|
83 |
msgstr ""
|
84 |
|
85 |
-
#: admin/settings.php:
|
86 |
msgid "Email Settings"
|
87 |
msgstr ""
|
88 |
|
89 |
-
#: admin/settings.php:
|
90 |
msgid "Templates"
|
91 |
msgstr ""
|
92 |
|
93 |
-
#: admin/settings.php:
|
94 |
msgid "Registered Users"
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: admin/settings.php:
|
98 |
msgid "Appearance"
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: admin/settings.php:
|
102 |
msgid "Miscellaneous"
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: admin/settings.php:
|
106 |
msgid ""
|
107 |
"Restrict the number of <strong>recipients per email</strong> to (0 for "
|
108 |
"unlimited)"
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: admin/settings.php:
|
112 |
-
#: classes/class-s2-admin.php:
|
113 |
msgid "Edit"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: admin/settings.php:
|
117 |
-
#: classes/class-s2-admin.php:
|
118 |
msgid "Update"
|
119 |
msgstr ""
|
120 |
|
121 |
-
#: admin/settings.php:
|
122 |
-
#: classes/class-s2-admin.php:
|
123 |
msgid "Revert"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: admin/settings.php:
|
127 |
msgid "Send Admins notifications for new"
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: admin/settings.php:
|
131 |
msgid "Subscriptions"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: admin/settings.php:
|
135 |
msgid "Unsubscriptions"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: admin/settings.php:
|
139 |
msgid "Both"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: admin/settings.php:
|
143 |
msgid "Neither"
|
144 |
msgstr ""
|
145 |
|
146 |
-
#: admin/settings.php:
|
147 |
msgid "Include theme CSS stylesheet in HTML notifications"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: admin/settings.php:
|
151 |
-
#: admin/settings.php:
|
152 |
-
#: admin/settings.php:
|
153 |
-
#: admin/settings.php:
|
154 |
#: admin/your_subscriptions.php:123 admin/your_subscriptions.php:164
|
155 |
msgid "Yes"
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: admin/settings.php:
|
159 |
-
#: admin/settings.php:
|
160 |
-
#: admin/settings.php:
|
161 |
-
#: admin/settings.php:
|
162 |
-
#: admin/settings.php:
|
163 |
#: admin/your_subscriptions.php:125 admin/your_subscriptions.php:168
|
164 |
msgid "No"
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: admin/settings.php:
|
168 |
msgid "Send Emails for Pages"
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: admin/settings.php:
|
172 |
msgid ""
|
173 |
"Subscribe2 will send email notifications for the following custom post types"
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: admin/settings.php:
|
177 |
msgid "Send Emails for Password Protected Posts"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: admin/settings.php:
|
181 |
msgid "Send Emails for Private Posts"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: admin/settings.php:
|
185 |
msgid "Include Sticky Posts at the top of all Digest Notifications"
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: admin/settings.php:
|
189 |
msgid "Send Email From"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: admin/settings.php:
|
193 |
msgid "Send Emails"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: admin/settings.php:
|
197 |
msgid "For digest notifications, date order for posts is"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: admin/settings.php:
|
201 |
msgid "Descending"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: admin/settings.php:
|
205 |
msgid "Ascending"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: admin/settings.php:
|
209 |
msgid "Add Tracking Parameters to the Permalink"
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: admin/settings.php:
|
213 |
msgid ""
|
214 |
"eg. utm_source=subscribe2&utm_medium=email&"
|
215 |
"utm_campaign=postnotify&utm_id={ID}&utm_title={TITLE}"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: admin/settings.php:
|
219 |
msgid "Notification email (must not be empty)"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: admin/settings.php:
|
223 |
msgid "Subject Line"
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: admin/settings.php:
|
227 |
msgid "Send Email Preview"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: admin/settings.php:
|
231 |
msgid "Message substitutions"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: admin/settings.php:
|
235 |
msgid ""
|
236 |
"IF THE FOLLOWING KEYWORDS ARE ALSO IN YOUR POST THEY WILL BE SUBSTITUTED"
|
237 |
msgstr ""
|
238 |
|
239 |
-
#: admin/settings.php:
|
240 |
msgid "the post's title<br />(<i>for per-post emails only</i>)"
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: admin/settings.php:
|
244 |
msgid ""
|
245 |
"the excerpt or the entire post<br />(<i>based on the subscriber's "
|
246 |
"preferences</i>)"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: admin/settings.php:
|
250 |
msgid ""
|
251 |
"the excerpt of the post and the time it was posted<br />(<i>for digest "
|
252 |
"emails only</i>)"
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: admin/settings.php:
|
256 |
msgid "a list of post titles<br />(<i>for digest emails only</i>)"
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: admin/settings.php:
|
260 |
msgid ""
|
261 |
"a list of post titles followed by links to the articles<br />(<i>for digest "
|
262 |
"emails only</i>)"
|
263 |
msgstr ""
|
264 |
|
265 |
-
#: admin/settings.php:
|
266 |
msgid ""
|
267 |
"a reference style list of links at the end of the email with corresponding "
|
268 |
"numbers in the content<br />(<i>for the full content plain text per-post "
|
269 |
"email only</i>)"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: admin/settings.php:
|
273 |
msgid "the post's permalink<br />(<i>for per-post emails only</i>)"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: admin/settings.php:
|
277 |
msgid "the post's permalink after conversion by TinyURL"
|
278 |
msgstr ""
|
279 |
|
280 |
-
#: admin/settings.php:
|
281 |
msgid "the date the post was made<br />(<i>for per-post emails only</i>)"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: admin/settings.php:
|
285 |
msgid "the time the post was made<br />(<i>for per-post emails only</i>)"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: admin/settings.php:
|
289 |
msgid "the admin or post author's name"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: admin/settings.php:
|
293 |
msgid "the admin or post author's email"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: admin/settings.php:
|
297 |
msgid "the post author's name"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: admin/settings.php:
|
301 |
msgid ""
|
302 |
"the generated link to confirm a request<br />(<i>only used in the "
|
303 |
"confirmation email template</i>)"
|
304 |
msgstr ""
|
305 |
|
306 |
-
#: admin/settings.php:
|
307 |
msgid ""
|
308 |
"Action performed by LINK in confirmation email<br />(<i>only used in the "
|
309 |
"confirmation email template</i>)"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: admin/settings.php:
|
313 |
msgid "the post's assigned categories"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: admin/settings.php:
|
317 |
msgid "the post's assigned Tags"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: admin/settings.php:
|
321 |
msgid ""
|
322 |
"the number of posts included in the digest email<br />(<i>for digest emails "
|
323 |
"only</i>)"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: admin/settings.php:
|
327 |
msgid "Subscribe / Unsubscribe confirmation email"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: admin/settings.php:
|
331 |
msgid "Reminder email to Unconfirmed Subscribers"
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: admin/settings.php:
|
335 |
msgid "Compulsory Categories"
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: admin/settings.php:
|
339 |
msgid ""
|
340 |
"Compulsory categories will be checked by default for Registered Subscribers"
|
341 |
msgstr ""
|
342 |
|
343 |
-
#: admin/settings.php:
|
344 |
msgid "Excluded Categories"
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: admin/settings.php:
|
348 |
msgid ""
|
349 |
"Posts assigned to any Excluded Category do not generate notifications and "
|
350 |
"are not included in digest notifications"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: admin/settings.php:
|
354 |
msgid "Allow registered users to subscribe to excluded categories?"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: admin/settings.php:
|
358 |
msgid "Excluded Formats"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: admin/settings.php:
|
362 |
msgid ""
|
363 |
"Posts assigned to any Excluded Format do not generate notifications and are "
|
364 |
"not included in digest notifications"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: admin/settings.php:
|
368 |
msgid "Auto-Subscribe"
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: admin/settings.php:
|
372 |
msgid "Subscribe new users registering with your blog"
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: admin/settings.php:
|
376 |
msgid "Automatically"
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: admin/settings.php:
|
380 |
msgid "Display option on Registration Form"
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: admin/settings.php:
|
384 |
msgid "Auto-subscribe includes any excluded categories"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: admin/settings.php:
|
388 |
msgid "Registration Form option is checked by default"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: admin/settings.php:
|
392 |
msgid "Auto-subscribe users to receive email as"
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: admin/settings.php:
|
396 |
#: admin/your_subscriptions.php:112
|
397 |
msgid "HTML - Full"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: admin/settings.php:
|
401 |
#: admin/your_subscriptions.php:114
|
402 |
msgid "HTML - Excerpt"
|
403 |
msgstr ""
|
404 |
|
405 |
-
#: admin/settings.php:
|
406 |
#: admin/your_subscriptions.php:116
|
407 |
msgid "Plain Text - Full"
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: admin/settings.php:
|
411 |
#: admin/your_subscriptions.php:118
|
412 |
msgid "Plain Text - Excerpt"
|
413 |
msgstr ""
|
414 |
|
415 |
-
#: admin/settings.php:
|
416 |
msgid "Registered Users have the option to auto-subscribe to new categories"
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: admin/settings.php:
|
420 |
msgid "New categories are immediately excluded"
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: admin/settings.php:
|
424 |
msgid ""
|
425 |
"Option for Registered Users to auto-subscribe to new categories is checked "
|
426 |
"by default"
|
427 |
msgstr ""
|
428 |
|
429 |
-
#: admin/settings.php:
|
430 |
msgid "Display checkbox to allow subscriptions from the comment form"
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: admin/settings.php:
|
434 |
msgid "Before the Comment Submit button"
|
435 |
msgstr ""
|
436 |
|
437 |
-
#: admin/settings.php:
|
438 |
msgid "After the Comment Submit button"
|
439 |
msgstr ""
|
440 |
|
441 |
-
#: admin/settings.php:
|
442 |
msgid "Comment form checkbox is checked by default"
|
443 |
msgstr ""
|
444 |
|
445 |
-
#: admin/settings.php:
|
446 |
msgid "Show one-click subscription on profile page"
|
447 |
msgstr ""
|
448 |
|
449 |
-
#: admin/settings.php:
|
450 |
msgid "Set default Subscribe2 page as"
|
451 |
msgstr ""
|
452 |
|
453 |
-
#: admin/settings.php:
|
454 |
msgid "Select a page"
|
455 |
msgstr ""
|
456 |
|
457 |
-
#: admin/settings.php:
|
458 |
msgid "Set the number of Subscribers displayed per page"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: admin/settings.php:
|
462 |
msgid "Show a link to your subscription page in \"meta\"?"
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: admin/settings.php:
|
466 |
msgid "Show the Subscribe2 button on the Write toolbar?"
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: admin/settings.php:
|
470 |
msgid "Enable AJAX style subscription form?"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: admin/settings.php:
|
474 |
msgid "Enable Subscribe2 Widget?"
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: admin/settings.php:
|
478 |
msgid "Enable Subscribe2 Counter Widget?"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: admin/settings.php:
|
482 |
msgid "Disable email notifications is checked by default on authoring pages?"
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: admin/settings.php:
|
486 |
msgid "Barred Domains"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: admin/settings.php:
|
490 |
msgid ""
|
491 |
"Enter domains to bar from public subscriptions: <br /> (Use a new line for "
|
492 |
"each entry and omit the \"@\" symbol, for example email.com)"
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: admin/settings.php:
|
496 |
msgid "Links"
|
497 |
msgstr ""
|
498 |
|
499 |
-
#: admin/settings.php:
|
500 |
msgid "Plugin Site"
|
501 |
msgstr ""
|
502 |
|
503 |
-
#: admin/settings.php:
|
504 |
msgid "Translation Files"
|
505 |
msgstr ""
|
506 |
|
507 |
-
#: admin/settings.php:
|
508 |
msgid "Plugin Forum"
|
509 |
msgstr ""
|
510 |
|
511 |
-
#: admin/settings.php:
|
512 |
msgid "Plugin Blog"
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: admin/settings.php:
|
516 |
msgid "Make a donation via PayPal"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: admin/settings.php:
|
520 |
msgid "Submit"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: admin/settings.php:
|
524 |
msgid "Reset to Default Settings"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: admin/settings.php:
|
528 |
msgid ""
|
529 |
"Use this to reset all options to their defaults. This <strong><em>will not</"
|
530 |
"em></strong> modify your list of subscribers."
|
531 |
msgstr ""
|
532 |
|
533 |
-
#: admin/settings.php:
|
534 |
msgid "RESET"
|
535 |
msgstr ""
|
536 |
|
@@ -594,12 +614,12 @@ msgid "Digest Subscription updated for Selected Registered Users!"
|
|
594 |
msgstr ""
|
595 |
|
596 |
#: admin/subscribers.php:186 classes/class-s2-admin.php:60
|
597 |
-
#: classes/class-s2-admin.php:
|
598 |
msgid "Public Subscribers"
|
599 |
msgstr ""
|
600 |
|
601 |
#: admin/subscribers.php:186 classes/class-s2-admin.php:65
|
602 |
-
#: classes/class-s2-admin.php:
|
603 |
msgid "Registered Subscribers"
|
604 |
msgstr ""
|
605 |
|
@@ -612,12 +632,12 @@ msgid "Enter addresses, one per line or comma-separated"
|
|
612 |
msgstr ""
|
613 |
|
614 |
#: admin/subscribers.php:202 admin/subscribers.php:266
|
615 |
-
#: admin/your_subscriptions.php:263 classes/class-s2-frontend.php:
|
616 |
msgid "Subscribe"
|
617 |
msgstr ""
|
618 |
|
619 |
#: admin/subscribers.php:203 admin/subscribers.php:267
|
620 |
-
#: admin/your_subscriptions.php:242 classes/class-s2-frontend.php:
|
621 |
msgid "Unsubscribe"
|
622 |
msgstr ""
|
623 |
|
@@ -676,13 +696,17 @@ msgid "Bulk Update Format"
|
|
676 |
msgstr ""
|
677 |
|
678 |
#: admin/subscribers.php:279
|
679 |
-
msgid "Subscribe Selected Users to
|
680 |
msgstr ""
|
681 |
|
682 |
#: admin/subscribers.php:284
|
683 |
msgid "Bulk Update Digest Subscription"
|
684 |
msgstr ""
|
685 |
|
|
|
|
|
|
|
|
|
686 |
#: admin/your_subscriptions.php:90
|
687 |
msgid "Subscription preferences updated."
|
688 |
msgstr ""
|
@@ -759,7 +783,7 @@ msgstr ""
|
|
759 |
msgid "Subscribe to new blogs"
|
760 |
msgstr ""
|
761 |
|
762 |
-
#. #-#-#-#-# Subscribe2.pot (Subscribe2 9.
|
763 |
#. Plugin Name of the plugin/theme
|
764 |
#: classes/class-s2-admin.php:8 include/widget.php:17
|
765 |
msgid "Subscribe2"
|
@@ -882,8 +906,8 @@ msgstr ""
|
|
882 |
#: classes/class-s2-admin.php:91
|
883 |
msgid ""
|
884 |
"There are special {KEYWORDS} that are used by Subscribe2 to place content "
|
885 |
-
"into the final email. The template also
|
886 |
-
"desired in the final
|
887 |
msgstr ""
|
888 |
|
889 |
#: classes/class-s2-admin.php:92
|
@@ -963,282 +987,278 @@ msgstr ""
|
|
963 |
msgid "Donate"
|
964 |
msgstr ""
|
965 |
|
966 |
-
#: classes/class-s2-admin.php:
|
967 |
msgid "Subscribe2 Notification Override"
|
968 |
msgstr ""
|
969 |
|
970 |
-
#: classes/class-s2-admin.php:
|
971 |
msgid ""
|
972 |
"Check here to disable sending of an email notification for this post/page"
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: classes/class-s2-admin.php:
|
976 |
msgctxt "Comma Separated Column Header names for CSV Export"
|
977 |
msgid "User Email,User Type,User Name,Confirm Date,IP"
|
978 |
msgstr ""
|
979 |
|
980 |
-
#: classes/class-s2-admin.php:
|
981 |
msgid "Registered User"
|
982 |
msgstr ""
|
983 |
|
984 |
-
#: classes/class-s2-admin.php:
|
985 |
msgid "Confirmed Public Subscriber"
|
986 |
msgstr ""
|
987 |
|
988 |
-
#: classes/class-s2-admin.php:
|
989 |
msgid "Unconfirmed Public Subscriber"
|
990 |
msgstr ""
|
991 |
|
992 |
-
#: classes/class-s2-admin.php:
|
993 |
-
#: classes/class-s2-admin.php:
|
994 |
msgid "Select / Unselect All"
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: classes/class-s2-admin.php:
|
998 |
msgid "All Users and Subscribers"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: classes/class-s2-admin.php:
|
1002 |
msgid "Confirmed"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
-
#: classes/class-s2-admin.php:
|
1006 |
msgid "Unconfirmed"
|
1007 |
msgstr ""
|
1008 |
|
1009 |
-
#: classes/class-s2-admin.php:
|
1010 |
msgid "All Registered Users"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
-
#: classes/class-s2-admin.php:
|
1014 |
msgid "Post Author"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
-
#: classes/class-s2-admin.php:
|
1018 |
msgid ""
|
1019 |
"The WordPress cron functions may be disabled on this server. Digest "
|
1020 |
"notifications may not work."
|
1021 |
msgstr ""
|
1022 |
|
1023 |
-
#: classes/class-s2-admin.php:
|
1024 |
msgid "For each Post"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
-
#: classes/class-s2-admin.php:
|
1028 |
msgid "Current UTC time is"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
-
#: classes/class-s2-admin.php:
|
1032 |
msgid "Current blog time is"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: classes/class-s2-admin.php:
|
1036 |
msgid "Next email notification will be sent when your blog time is after"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
-
#: classes/class-s2-admin.php:
|
1040 |
msgid "Attempt to resend the last Digest Notification email"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: classes/class-s2-admin.php:
|
1044 |
msgid "Resend Digest"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: classes/class-s2-admin.php:
|
1048 |
msgid "Email subscription"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: classes/class-s2-admin.php:
|
1052 |
msgid "Subscribe / Unsubscribe"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: classes/class-s2-admin.php:
|
1056 |
msgid "Receive notifications"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: classes/class-s2-admin.php:
|
1060 |
msgid ""
|
1061 |
"Check if you want to receive email notification when new posts are published"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
-
#: classes/class-s2-core.php:
|
1065 |
-
msgid "
|
1066 |
msgstr ""
|
1067 |
|
1068 |
-
#: classes/class-s2-core.php:
|
1069 |
-
msgid ""
|
1070 |
-
"You may manage your subscription options from your <a href=\"%1$s\">profile</"
|
1071 |
-
"a>"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
-
#: classes/class-s2-core.php:
|
1075 |
-
msgid ""
|
1076 |
-
"<a href=\"%1$s\">Subscribe</a> to email notifications when this blog posts "
|
1077 |
-
"new content."
|
1078 |
msgstr ""
|
1079 |
|
1080 |
-
#: classes/class-s2-core.php:
|
1081 |
-
msgid "
|
1082 |
msgstr ""
|
1083 |
|
1084 |
-
#: classes/class-s2-core.php:
|
1085 |
-
msgid "
|
1086 |
msgstr ""
|
1087 |
|
1088 |
-
#: classes/class-s2-core.php:
|
1089 |
-
msgid "
|
1090 |
msgstr ""
|
1091 |
|
1092 |
-
#: classes/class-s2-core.php:
|
1093 |
-
msgid "
|
1094 |
msgstr ""
|
1095 |
|
1096 |
-
#: classes/class-s2-core.php:
|
1097 |
-
msgid ""
|
1098 |
-
"Sorry, email addresses at that domain are currently barred due to spam, "
|
1099 |
-
"please use an alternative email address."
|
1100 |
msgstr ""
|
1101 |
|
1102 |
-
#: classes/class-s2-core.php:
|
1103 |
msgid ""
|
1104 |
-
"
|
|
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: classes/class-s2-core.php:
|
1108 |
-
msgid "
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: classes/class-s2-core.php:
|
1112 |
-
msgid "
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: classes/class-s2-core.php:
|
1116 |
-
msgid "
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: classes/class-s2-core.php:
|
1120 |
-
msgid "
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: classes/class-s2-core.php:
|
1124 |
-
msgid "
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: classes/class-s2-core.php:
|
1128 |
-
msgid "
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: classes/class-s2-core.php:
|
1132 |
-
msgid "
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: classes/class-s2-core.php:
|
1136 |
-
msgid "
|
1137 |
msgstr ""
|
1138 |
|
1139 |
-
#: classes/class-s2-
|
1140 |
-
msgid "
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: classes/class-s2-
|
1144 |
-
msgid "
|
|
|
|
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: classes/class-s2-
|
1148 |
-
msgid "
|
|
|
|
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: classes/class-s2-
|
1152 |
-
msgid "
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: classes/class-s2-
|
1156 |
-
msgid "
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: classes/class-s2-
|
1160 |
-
msgid "
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: classes/class-s2-
|
1164 |
-
msgid "
|
1165 |
msgstr ""
|
1166 |
|
1167 |
-
#: classes/class-s2-
|
1168 |
msgid ""
|
1169 |
-
"
|
1170 |
-
"
|
1171 |
-
msgstr ""
|
1172 |
-
|
1173 |
-
#: classes/class-s2-core.php:1219
|
1174 |
-
msgid "Check here to Subscribe to notifications for new posts"
|
1175 |
-
msgstr ""
|
1176 |
-
|
1177 |
-
#: classes/class-s2-core.php:1312
|
1178 |
-
msgid "Weekly"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
-
#: classes/class-s2-
|
1182 |
-
msgid "
|
|
|
1183 |
msgstr ""
|
1184 |
|
1185 |
-
#: classes/class-s2-
|
1186 |
-
msgid "
|
1187 |
msgstr ""
|
1188 |
|
1189 |
-
#: classes/class-s2-
|
1190 |
-
msgid "
|
1191 |
msgstr ""
|
1192 |
|
1193 |
-
#: classes/class-s2-
|
1194 |
-
msgid "
|
1195 |
msgstr ""
|
1196 |
|
1197 |
-
#: classes/class-s2-
|
1198 |
-
msgid "
|
1199 |
msgstr ""
|
1200 |
|
1201 |
-
#: classes/class-s2-
|
1202 |
-
msgid "
|
1203 |
msgstr ""
|
1204 |
|
1205 |
-
#: classes/class-s2-frontend.php:
|
1206 |
msgid "Enter email address..."
|
1207 |
msgstr ""
|
1208 |
|
1209 |
-
#: classes/class-s2-frontend.php:
|
1210 |
msgid "Your email:"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
-
#: classes/class-s2-frontend.php:
|
|
|
|
|
|
|
|
|
1214 |
msgid "Subscription Confirmation"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
-
#: classes/class-s2-frontend.php:
|
1218 |
msgid "Unsubscription Confirmation"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
-
#: classes/class-s2-frontend.php:
|
1222 |
msgid "New Subscription"
|
1223 |
msgstr ""
|
1224 |
|
1225 |
-
#: classes/class-s2-frontend.php:
|
1226 |
msgid "subscribed to email notifications!"
|
1227 |
msgstr ""
|
1228 |
|
1229 |
-
#: classes/class-s2-frontend.php:
|
1230 |
msgid "New Unsubscription"
|
1231 |
msgstr ""
|
1232 |
|
1233 |
-
#: classes/class-s2-frontend.php:
|
1234 |
msgid "unsubscribed from email notifications!"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
-
#: classes/class-s2-frontend.php:
|
1238 |
msgid "[Un]Subscribe to Posts"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
-
#: classes/class-s2-frontend.php:
|
1242 |
msgid "Subscribe to this blog"
|
1243 |
msgstr ""
|
1244 |
|
@@ -1477,9 +1497,9 @@ msgid ""
|
|
1477 |
"a site level"
|
1478 |
msgstr ""
|
1479 |
|
1480 |
-
#. #-#-#-#-# Subscribe2.pot (Subscribe2 9.
|
1481 |
#. Plugin URI of the plugin/theme
|
1482 |
-
#. #-#-#-#-# Subscribe2.pot (Subscribe2 9.
|
1483 |
#. Author URI of the plugin/theme
|
1484 |
msgid "http://subscribe2.wordpress.com"
|
1485 |
msgstr ""
|
2 |
# This file is distributed under the same license as the Subscribe2 package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Subscribe2 9.3\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/Subscribe2\n"
|
7 |
+
"POT-Creation-Date: 2014-04-16 20:46:57+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
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 ""
|
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 ""
|
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:281
|
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:283
|
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&utm_medium=email&"
|
235 |
"utm_campaign=postnotify&utm_id={ID}&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:271
|
416 |
#: admin/your_subscriptions.php:112
|
417 |
msgid "HTML - Full"
|
418 |
msgstr ""
|
419 |
|
420 |
+
#: admin/settings.php:368 admin/subscribers.php:272
|
421 |
#: admin/your_subscriptions.php:114
|
422 |
msgid "HTML - Excerpt"
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: admin/settings.php:370 admin/subscribers.php:273
|
426 |
#: admin/your_subscriptions.php:116
|
427 |
msgid "Plain Text - Full"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: admin/settings.php:372 admin/subscribers.php:274
|
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 |
|
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 |
|
632 |
msgstr ""
|
633 |
|
634 |
#: admin/subscribers.php:202 admin/subscribers.php:266
|
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:267
|
640 |
+
#: admin/your_subscriptions.php:242 classes/class-s2-frontend.php:66
|
641 |
msgid "Unsubscribe"
|
642 |
msgstr ""
|
643 |
|
696 |
msgstr ""
|
697 |
|
698 |
#: admin/subscribers.php:279
|
699 |
+
msgid "Subscribe Selected Users to receive a periodic digest notification"
|
700 |
msgstr ""
|
701 |
|
702 |
#: admin/subscribers.php:284
|
703 |
msgid "Bulk Update Digest Subscription"
|
704 |
msgstr ""
|
705 |
|
706 |
+
#: admin/subscribers.php:298
|
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 ""
|
783 |
msgid "Subscribe to new blogs"
|
784 |
msgstr ""
|
785 |
|
786 |
+
#. #-#-#-#-# Subscribe2.pot (Subscribe2 9.3) #-#-#-#-#
|
787 |
#. Plugin Name of the plugin/theme
|
788 |
#: classes/class-s2-admin.php:8 include/widget.php:17
|
789 |
msgid "Subscribe2"
|
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
|
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:1444 classes/class-s2-core.php:1445
|
1135 |
+
msgid "Author"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: classes/class-s2-core.php:1451
|
1139 |
+
msgid "Posted on"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: classes/class-s2-core.php:1469 classes/class-s2-core.php:1470
|
1143 |
+
msgid "Posted in"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: classes/class-s2-core.php:1475 classes/class-s2-core.php:1476
|
1147 |
+
msgid "Tagged as"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: classes/class-s2-core.php:1548
|
1151 |
+
msgid "Digest Email"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: classes/class-s2-core.php:1558
|
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 |
|
1497 |
"a site level"
|
1498 |
msgstr ""
|
1499 |
|
1500 |
+
#. #-#-#-#-# Subscribe2.pot (Subscribe2 9.3) #-#-#-#-#
|
1501 |
#. Plugin URI of the plugin/theme
|
1502 |
+
#. #-#-#-#-# Subscribe2.pot (Subscribe2 9.3) #-#-#-#-#
|
1503 |
#. Author URI of the plugin/theme
|
1504 |
msgid "http://subscribe2.wordpress.com"
|
1505 |
msgstr ""
|
{tinymce3 → tinymce}/css/content.css
RENAMED
File without changes
|
tinymce3/editor_plugin.js → tinymce/editor_plugin3.js
RENAMED
@@ -7,7 +7,7 @@
|
|
7 |
cls = 'mceSubscribe2',
|
8 |
shortcode = '[subscribe2]',
|
9 |
pbreplaced = [],
|
10 |
-
pbRE = new RegExp(/(\[|<!--)subscribe2
|
11 |
replacer = function ( str ) {
|
12 |
if ( -1 !== str.indexOf( 'class="mceSubscribe2' ) ) {
|
13 |
str = pbreplaced[i];
|
7 |
cls = 'mceSubscribe2',
|
8 |
shortcode = '[subscribe2]',
|
9 |
pbreplaced = [],
|
10 |
+
pbRE = new RegExp(/(\[|<!--)subscribe2.*?(\]|-->)/g),
|
11 |
replacer = function ( str ) {
|
12 |
if ( -1 !== str.indexOf( 'class="mceSubscribe2' ) ) {
|
13 |
str = pbreplaced[i];
|
tinymce/editor_plugin3.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(function(){tinymce.create('tinymce.plugins.Subscribe2Plugin',{init:function(ed,url){var i=0,pb='<img src="'+url+'/../include/spacer.gif" class="mceSubscribe2 mceItemNoResize" />',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.onInit.add(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.onClick.add(function(ed,e){e=e.target;if(e.nodeName==='IMG'&&ed.dom.hasClass(e,cls)){ed.selection.select(e)}});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('subscribe2',n.nodeName==='IMG'&&ed.dom.hasClass(n,cls))});ed.onBeforeSetContent.add(function(ed,o){pbreplaced=o.content.match(pbRE);o.content=o.content.replace(pbRE,pb)});ed.onPostProcess.add(function(ed,o){if(o.get){if(null!==pbreplaced){for(i=0;i<pbreplaced.length;i++){o.content=o.content.replace(/<img[^>]+>/,replacer)}}o.content=o.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)})();
|
tinymce/editor_plugin4.js
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* global tinymce */
|
2 |
+
(function () {
|
3 |
+
tinymce.create( 'tinymce.plugins.Subscribe2Plugin', {
|
4 |
+
init : function ( ed, url ) {
|
5 |
+
var i = 0,
|
6 |
+
pb = '<p><img src="' + url + '/../include/spacer.gif" class="mceSubscribe2 mceItemNoResize" /></p>',
|
7 |
+
cls = 'mceSubscribe2',
|
8 |
+
shortcode = '[subscribe2]',
|
9 |
+
pbreplaced = [],
|
10 |
+
pbRE = new RegExp(/(\[|<!--)subscribe2.*?(\]|-->)/g),
|
11 |
+
replacer = function ( str ) {
|
12 |
+
if ( -1 !== str.indexOf( 'class="mceSubscribe2' ) ) {
|
13 |
+
str = pbreplaced[i];
|
14 |
+
}
|
15 |
+
return str;
|
16 |
+
};
|
17 |
+
|
18 |
+
// Register commands
|
19 |
+
ed.addCommand( 'mceSubscribe2', function () {
|
20 |
+
ed.execCommand( 'mceInsertContent', 0, pb );
|
21 |
+
});
|
22 |
+
|
23 |
+
// Register buttons
|
24 |
+
ed.addButton( 'subscribe2', {
|
25 |
+
title : 'Insert Subscribe2 Token',
|
26 |
+
image : url + '/../include/s2_button.png',
|
27 |
+
cmd : cls
|
28 |
+
});
|
29 |
+
|
30 |
+
// load the CSS and enable it on the right class
|
31 |
+
ed.on('init', function () {
|
32 |
+
ed.dom.loadCSS( url + '/css/content.css' );
|
33 |
+
|
34 |
+
if ( ed.theme.onResolveName ) {
|
35 |
+
ed.theme.onResolveName.add(function ( th, o ) {
|
36 |
+
if ( o.node.nodeName === 'IMG' && ed.dom.hasClass( o.node, cls ) ) {
|
37 |
+
o.name = 'subscribe2';
|
38 |
+
}
|
39 |
+
});
|
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 ) {
|
53 |
+
pbreplaced = ed.content.match( pbRE );
|
54 |
+
ed.content = ed.content.replace( pbRE, pb );
|
55 |
+
});
|
56 |
+
|
57 |
+
// swap back the array of shortcodes to preserve parameters
|
58 |
+
// replace any other instances with the default shortcode
|
59 |
+
ed.on('PostProcess', function ( ed ) {
|
60 |
+
if ( ed.get ) {
|
61 |
+
if ( null !== pbreplaced ) {
|
62 |
+
for ( i = 0; i < pbreplaced.length; i++ ) {
|
63 |
+
ed.content = ed.content.replace(/<img[^>]+>/, replacer );
|
64 |
+
}
|
65 |
+
}
|
66 |
+
ed.content = ed.content.replace( /<img[^>]+>/g, function ( im ) {
|
67 |
+
if ( -1 !== im.indexOf( 'class="mceSubscribe2' ) ) {
|
68 |
+
im = shortcode;
|
69 |
+
}
|
70 |
+
return im;
|
71 |
+
});
|
72 |
+
}
|
73 |
+
});
|
74 |
+
},
|
75 |
+
|
76 |
+
getInfo : function () {
|
77 |
+
return {
|
78 |
+
longname : 'Insert Subscribe2 Token',
|
79 |
+
author : 'Matthew Robinson',
|
80 |
+
authorurl : 'http://subscribe2.wordpress.com',
|
81 |
+
infourl : 'http://subscribe2.wordpress.com',
|
82 |
+
version : tinymce.majorVersion + '.' + tinymce.minorVersion
|
83 |
+
};
|
84 |
+
}
|
85 |
+
});
|
86 |
+
|
87 |
+
// Register plugin
|
88 |
+
tinymce.PluginManager.add( 'subscribe2', tinymce.plugins.Subscribe2Plugin );
|
89 |
+
})();
|
tinymce/editor_plugin4.min.js
ADDED
@@ -0,0 +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)})();
|
tinymce3/editor_plugin.min.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
(function(){tinymce.create('tinymce.plugins.Subscribe2Plugin',{init:function(ed,url){var i=0,pb='<img src="'+url+'/../include/spacer.gif" class="mceSubscribe2 mceItemNoResize" />',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.onInit.add(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.onClick.add(function(ed,e){e=e.target;if(e.nodeName==='IMG'&&ed.dom.hasClass(e,cls)){ed.selection.select(e)}});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('subscribe2',n.nodeName==='IMG'&&ed.dom.hasClass(n,cls))});ed.onBeforeSetContent.add(function(ed,o){pbreplaced=o.content.match(pbRE);o.content=o.content.replace(pbRE,pb)});ed.onPostProcess.add(function(ed,o){if(o.get){if(null!==pbreplaced){for(i=0;i<pbreplaced.length;i++){o.content=o.content.replace(/<img[^>]+>/,replacer)}}o.content=o.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)})();
|
|