Version Description
Download this release
Release Info
Developer | MattyRob |
Plugin | Subscribe2 |
Version | 4.17 |
Comparing to | |
See all releases |
Code changes from version 4.16 to 4.17
- ReadMe.txt +15 -2
- counterwidget.php +1 -1
- include/s2_user_admin.css +1 -1
- subscribe2.php +265 -224
- subscribe2.pot +175 -159
ReadMe.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: MattyRob, Skippy, RavanH
|
|
3 |
Donate link: http://subscribe2.wordpress.com/donate/
|
4 |
Tags: posts, subscription, email, subscribe, notify, notification
|
5 |
Requires at least: 2.0.x
|
6 |
-
Tested up to: 2.
|
7 |
-
Stable tag: 4.
|
8 |
|
9 |
Sends a list of subscribers an email notification when new posts are published to your blog
|
10 |
|
@@ -100,6 +100,19 @@ Registered Users have registered with your WorPress blog (provided you have enab
|
|
100 |
|
101 |
== Version History ==
|
102 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
Version 4.16 by Matthew Robinson
|
104 |
|
105 |
* Correct minor layout issue in Settings->Subscribe2
|
3 |
Donate link: http://subscribe2.wordpress.com/donate/
|
4 |
Tags: posts, subscription, email, subscribe, notify, notification
|
5 |
Requires at least: 2.0.x
|
6 |
+
Tested up to: 2.8.1beta2
|
7 |
+
Stable tag: 4.17
|
8 |
|
9 |
Sends a list of subscribers an email notification when new posts are published to your blog
|
10 |
|
100 |
|
101 |
== Version History ==
|
102 |
|
103 |
+
Version 4.17 by Matthew Robinson
|
104 |
+
|
105 |
+
* Tested for compatibility with WordPress 2.8.x
|
106 |
+
* Added TAGS and CATS keyword for per-post notification templates
|
107 |
+
* Fixed bug where confirmation emails may have an empty sender field if notifications come from post author
|
108 |
+
* Fixed a bug in WPMU CSS
|
109 |
+
* Added option to exclude new categories by default
|
110 |
+
* Fixed a bug where emails may not be sent to subscribers when a user subscribes or unsubscribes
|
111 |
+
* Improved accessing of 'Admin' level users on blogs where user_level is set below 10
|
112 |
+
* Added ability to send email previews to currently logged in user from Settings->Subscribe2
|
113 |
+
* Styled admin menu form buttons to fit with WordPress theme
|
114 |
+
* Improved handling of confirmation sending to reduce errors
|
115 |
+
|
116 |
Version 4.16 by Matthew Robinson
|
117 |
|
118 |
* Correct minor layout issue in Settings->Subscribe2
|
counterwidget.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Subscribe2 Counter Widget
|
4 |
-
Version: 4.
|
5 |
Plugin URI: http://subscribe2.wordpress.com
|
6 |
Description: Adds a sidebar widget to easily customize and display your Subscribe2 subscribers stats.
|
7 |
Author: Matthew Robinson
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Subscribe2 Counter Widget
|
4 |
+
Version: 4.17
|
5 |
Plugin URI: http://subscribe2.wordpress.com
|
6 |
Description: Adds a sidebar widget to easily customize and display your Subscribe2 subscribers stats.
|
7 |
Author: Matthew Robinson
|
include/s2_user_admin.css
CHANGED
@@ -41,7 +41,7 @@ ul.s2_blogs li .buttons a {
|
|
41 |
margin: 0 0 0 1em;
|
42 |
}
|
43 |
|
44 |
-
ul.s2_blogs li .buttons a:
|
45 |
background-color: whitesmoke;
|
46 |
color: #666;
|
47 |
}
|
41 |
margin: 0 0 0 1em;
|
42 |
}
|
43 |
|
44 |
+
ul.s2_blogs li .buttons a:hover {
|
45 |
background-color: whitesmoke;
|
46 |
color: #666;
|
47 |
}
|
subscribe2.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Subscribe2
|
4 |
Plugin URI: http://subscribe2.wordpress.com
|
5 |
Description: Notifies an email list when new entries are posted.
|
6 |
-
Version: 4.
|
7 |
Author: Matthew Robinson
|
8 |
Author URI: http://subscribe2.wordpress.com
|
9 |
*/
|
@@ -31,7 +31,7 @@ along with Subscribe2. If not, see <http://www.gnu.org/licenses/>.
|
|
31 |
|
32 |
// our version number. Don't touch this or any line below
|
33 |
// unless you know exacly what you are doing
|
34 |
-
define('S2VERSION', '4.
|
35 |
define('S2PATH', trailingslashit(dirname(__FILE__)));
|
36 |
|
37 |
// Pre-2.6 compatibility
|
@@ -139,7 +139,7 @@ class s2class {
|
|
139 |
function checkbox_form_js() {
|
140 |
wp_enqueue_script('s2_checkbox', WP_CONTENT_URL . '/plugins/' . dirname( plugin_basename( __FILE__ ) ) . '/include/s2_checkbox.js', array('jquery'), '1.0');
|
141 |
} //end checkbox_form_js()
|
142 |
-
|
143 |
function user_admin_css() {
|
144 |
wp_enqueue_style('s2_user_admin', WP_CONTENT_URL . '/plugins/ '. dirname( plugin_basename( __FILE__ ) ) . '/include/s2_user_admin.css', array(), '1.0');
|
145 |
}
|
@@ -205,7 +205,7 @@ class s2class {
|
|
205 |
//double check that the options are in the database
|
206 |
require(S2PATH . "include/options.php");
|
207 |
update_option('subscribe2_options', $this->subscribe2_options);
|
208 |
-
|
209 |
// upgrade old wpmu user meta data to new
|
210 |
if ( (isset($wpmu_version)) || (strpos($wp_version, 'wordpress-mu')) ) {
|
211 |
$this->namechange_subscribe2_widget();
|
@@ -269,7 +269,7 @@ class s2class {
|
|
269 |
$string = str_replace("PERMALINK", $this->permalink, $string);
|
270 |
if (strstr($string, "TINYLINK")) {
|
271 |
$tinylink = file_get_contents('http://tinyurl.com/api-create.php?url=' . urlencode($this->permalink));
|
272 |
-
if ( ($tinylink !== 'Error') || ($tinylink !=
|
273 |
$string = str_replace("TINYLINK", $tinylink, $string);
|
274 |
} else {
|
275 |
$string = str_replace("TINYLINK", $this->permalink, $string);
|
@@ -278,6 +278,9 @@ class s2class {
|
|
278 |
$string = str_replace("MYNAME", stripslashes($this->myname), $string);
|
279 |
$string = str_replace("EMAIL", $this->myemail, $string);
|
280 |
$string = str_replace("AUTHORNAME", $this->authorname, $string);
|
|
|
|
|
|
|
281 |
return $string;
|
282 |
} // end substitute()
|
283 |
|
@@ -287,30 +290,15 @@ class s2class {
|
|
287 |
function mail($recipients = array(), $subject = '', $message = '', $type='text') {
|
288 |
if ( (empty($recipients)) || ('' == $message) ) { return; }
|
289 |
|
290 |
-
// Set sender details
|
291 |
-
if ('' == $this->myname) {
|
292 |
-
$admin = $this->get_userdata($this->subscribe2_options['sender']);
|
293 |
-
$this->myname = html_entity_decode($admin->display_name);
|
294 |
-
$this->myemail = $admin->user_email;
|
295 |
-
}
|
296 |
-
$headers = "From: \"" . $this->myname . "\" <" . $this->myemail . ">\n";
|
297 |
-
$headers .= "Return-path: <" . $this->myemail . ">\n";
|
298 |
-
$headers .= "Reply-To: \"" . $this->myname . "\" <" . $this->myemail . ">\n";
|
299 |
-
$headers .= "X-Mailer:PHP" . phpversion() . "\n";
|
300 |
-
$headers .= "Precedence: list\nList-Id: " . get_option('blogname') . "\n";
|
301 |
-
|
302 |
if ('html' == $type) {
|
303 |
-
|
304 |
-
$headers .= "MIME-Version: 1.0\n";
|
305 |
-
$headers .= "Content-Type: " . get_bloginfo('html_type') . "; charset=\"". get_bloginfo('charset') . "\"\n";
|
306 |
if ('yes' == $this->subscribe2_options['stylesheet']) {
|
307 |
$mailtext = apply_filters('s2_html_email', "<html><head><title>" . $subject . "</title><link rel=\"stylesheet\" href=\"" . get_bloginfo('stylesheet_url') . "\" type=\"text/css\" media=\"screen\" /></head><body>" . $message . "</body></html>");
|
308 |
} else {
|
309 |
$mailtext = apply_filters('s2_html_email', "<html><head><title>" . $subject . "</title></head><body>" . $message . "</body></html>");
|
310 |
}
|
311 |
} else {
|
312 |
-
$headers
|
313 |
-
$headers .= "Content-Type: text/plain; charset=\"". get_bloginfo('charset') . "\"\n";
|
314 |
$message = preg_replace('|&[^a][^m][^p].{0,3};|', '', $message);
|
315 |
$message = preg_replace('|&|', '&', $message);
|
316 |
$message = wordwrap(strip_tags($message), 80, "\n");
|
@@ -386,87 +374,116 @@ class s2class {
|
|
386 |
return $status;
|
387 |
} // end mail()
|
388 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
389 |
/**
|
390 |
Sends an email notification of a new post
|
391 |
*/
|
392 |
-
function publish($post = 0) {
|
393 |
if (!$post) { return $post; }
|
394 |
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
if ($this->subscribe2_options['email_freq'] != 'never') { return $post; }
|
400 |
|
401 |
-
|
402 |
-
|
403 |
-
if ( ($this->subscribe2_options['pages'] == 'no') && ($post->post_type == 'page') ) {
|
404 |
-
return $post;
|
405 |
-
}
|
406 |
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
|
413 |
-
|
414 |
-
|
|
|
415 |
return $post;
|
416 |
-
|
417 |
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
// is the current post assigned to any categories
|
422 |
-
// which should not generate a notification email?
|
423 |
-
foreach (explode(',', $this->subscribe2_options['exclude']) as $cat) {
|
424 |
-
if (in_array($cat, $post_cats)) {
|
425 |
-
$check = true;
|
426 |
}
|
427 |
-
}
|
428 |
|
429 |
-
|
430 |
-
|
431 |
-
//
|
432 |
-
|
433 |
-
|
434 |
-
|
|
|
|
|
435 |
}
|
436 |
-
}
|
437 |
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
|
|
|
|
444 |
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
453 |
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
|
|
458 |
}
|
|
|
459 |
// we set these class variables so that we can avoid
|
460 |
// passing them in function calls a little later
|
461 |
$this->post_title = "<a href=\"" . get_permalink($post->ID) . "\">" . $post->post_title . "</a>";
|
462 |
$this->permalink = "<a href=\"" . get_permalink($post->ID) . "\">" . get_permalink($post->ID) . "</a>";
|
463 |
-
|
464 |
$author = get_userdata($post->post_author);
|
465 |
$this->authorname = $author->display_name;
|
466 |
|
467 |
// do we send as admin, or post author?
|
468 |
if ('author' == $this->subscribe2_options['sender']) {
|
469 |
-
|
470 |
$user = &$author;
|
471 |
} else {
|
472 |
// get admin details
|
@@ -480,6 +497,9 @@ class s2class {
|
|
480 |
$mailtext = apply_filters('s2_email_template', $this->subscribe2_options['mailtext']);
|
481 |
$mailtext = stripslashes($this->substitute($mailtext));
|
482 |
|
|
|
|
|
|
|
483 |
$plaintext = $post->post_content;
|
484 |
if (function_exists('strip_shortcodes')) {
|
485 |
$plaintext = strip_shortcodes($plaintext);
|
@@ -509,25 +529,35 @@ class s2class {
|
|
509 |
}
|
510 |
}
|
511 |
|
512 |
-
//
|
513 |
-
$
|
514 |
-
$
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
$
|
|
|
|
|
520 |
} else {
|
521 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
522 |
}
|
523 |
-
$this->mail($recipients, $subject, $body);
|
524 |
-
// next we send plaintext full content emails
|
525 |
-
$body = str_replace("POST", strip_tags($plaintext), $mailtext);
|
526 |
-
$this->mail($this->get_registered("cats=$post_cats_string&format=text&amount=post"), $subject, $body);
|
527 |
-
// finally we send html full content emails
|
528 |
-
$body = str_replace("\r\n", "<br />\r\n", $mailtext);
|
529 |
-
$body = str_replace("POST", $content, $body);
|
530 |
-
$this->mail($this->get_registered("cats=$post_cats_string&format=html"), $subject, $body, 'html');
|
531 |
} // end publish()
|
532 |
|
533 |
/**
|
@@ -544,8 +574,8 @@ class s2class {
|
|
544 |
/**
|
545 |
Send confirmation email to the user
|
546 |
*/
|
547 |
-
function send_confirm($what = '', $is_remind =
|
548 |
-
if ($this->filtered == 1) { return; }
|
549 |
if ( (!$this->email) || (!$what) ) {
|
550 |
return false;
|
551 |
}
|
@@ -569,10 +599,7 @@ class s2class {
|
|
569 |
$link .= md5($this->email);
|
570 |
$link .= $id;
|
571 |
|
572 |
-
$
|
573 |
-
$this->myname = html_entity_decode($admin->display_name);
|
574 |
-
|
575 |
-
if ($is_remind == TRUE) {
|
576 |
$body = $this->substitute(stripslashes($this->subscribe2_options['remind_email']));
|
577 |
$subject = $this->substitute(stripslashes($this->subscribe2_options['remind_subject']));
|
578 |
} else {
|
@@ -587,13 +614,7 @@ class s2class {
|
|
587 |
|
588 |
$body = str_replace("LINK", $link, $body);
|
589 |
|
590 |
-
$mailheaders
|
591 |
-
$mailheaders .= "Reply-To: \"" . $admin->display_name . "\" <" . $admin->user_email . ">\n";
|
592 |
-
$mailheaders .= "Return-path: <" . $admin->user_email . ">\n";
|
593 |
-
$mailheaders .= "X-Mailer:PHP" . phpversion() . "\n";
|
594 |
-
$mailheaders .= "Precedence: list\nList-Id: " . get_option('blogname') . "\n";
|
595 |
-
$mailheaders .= "MIME-Version: 1.0\n";
|
596 |
-
$mailheaders .= "Content-Type: text/plain; charset=\"". get_bloginfo('charset') . "\"\n";
|
597 |
|
598 |
return @wp_mail($this->email, $subject, $body, $mailheaders);
|
599 |
} // end send_confirm()
|
@@ -713,12 +734,12 @@ class s2class {
|
|
713 |
*/
|
714 |
function remind($emails = '') {
|
715 |
if ('' == $emails) { return false; }
|
716 |
-
|
717 |
$recipients = explode(",", $emails);
|
718 |
if (!is_array($recipients)) { $recipients = (array)$recipients; }
|
719 |
foreach ($recipients as $recipient) {
|
720 |
$this->email = $recipient;
|
721 |
-
$this->send_confirm('add',
|
722 |
}
|
723 |
} //end remind()
|
724 |
|
@@ -729,14 +750,14 @@ class s2class {
|
|
729 |
$barred_option = $this->subscribe2_options['barred'];
|
730 |
list($user, $domain) = split('@', $email);
|
731 |
$bar_check = stristr($barred_option, $domain);
|
732 |
-
|
733 |
if (!empty($bar_check)) {
|
734 |
return true;
|
735 |
} else {
|
736 |
return false;
|
737 |
}
|
738 |
} //end is_barred()
|
739 |
-
|
740 |
/**
|
741 |
Confirm request from the link emailed to the user and email the admin
|
742 |
*/
|
@@ -771,7 +792,10 @@ class s2class {
|
|
771 |
$subject = '[' . get_option('blogname') . '] ' . __('New subscription', 'subscribe2');
|
772 |
$message = $this->email . " " . __('subscribed to email notifications!', 'subscribe2');
|
773 |
$recipients = $wpdb->get_col("SELECT DISTINCT(user_email) FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value='10'");
|
774 |
-
$this->
|
|
|
|
|
|
|
775 |
}
|
776 |
}
|
777 |
$this->filtered = 1;
|
@@ -784,7 +808,10 @@ class s2class {
|
|
784 |
$subject = '[' . get_option('blogname') . '] ' . __('New Unsubscription', 'subscribe2');
|
785 |
$message = $this->email . " " . __('unsubscribed from email notifications!', 'subscribe2');
|
786 |
$recipients = $wpdb->get_col("SELECT DISTINCT(user_email) FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value='10'");
|
787 |
-
$this->
|
|
|
|
|
|
|
788 |
}
|
789 |
}
|
790 |
$this->filtered = 1;
|
@@ -914,6 +941,7 @@ class s2class {
|
|
914 |
// specific category subscribers
|
915 |
if ('' != $r['cats']) {
|
916 |
$JOIN .= "INNER JOIN $wpdb->usermeta AS d ON a.user_id = d.user_id ";
|
|
|
917 |
foreach (explode(',', $r['cats']) as $cat) {
|
918 |
('' == $and) ? $and = "d.meta_key='" . $this->get_usermeta_keyname('s2_cat') . "$cat'" : $and .= " OR d.meta_key='" . $this->get_usermeta_keyname('s2_cat') . "$cat'";
|
919 |
}
|
@@ -954,11 +982,11 @@ class s2class {
|
|
954 |
Create the appropriate usermeta values when a user registers
|
955 |
If the registering user had previously subscribed to notifications, this function will delete them from the public subscriber list first
|
956 |
*/
|
957 |
-
function register($
|
958 |
global $wpdb;
|
959 |
|
960 |
-
if (0 == $
|
961 |
-
$user = get_userdata($
|
962 |
$all_cats = get_categories(array('hide_empty' => false));
|
963 |
|
964 |
// Are registered users are allowed to subscribe to excluded categories?
|
@@ -978,55 +1006,55 @@ class s2class {
|
|
978 |
|
979 |
if ('' == $cats) {
|
980 |
// sanity check, might occur if all cats excluded and reg_override = 0
|
981 |
-
return $
|
982 |
}
|
983 |
|
984 |
// has this user previously signed up for email notification?
|
985 |
if (false !== $this->is_public($user->user_email)) {
|
986 |
// delete this user from the public table, and subscribe them to all the categories
|
987 |
$this->delete($user->user_email);
|
988 |
-
update_usermeta($
|
989 |
foreach (explode(',', $cats) as $cat) {
|
990 |
-
update_usermeta($
|
991 |
}
|
992 |
-
update_usermeta($
|
993 |
-
update_usermeta($
|
994 |
-
update_usermeta($
|
995 |
} else {
|
996 |
// create post format entries for all users
|
997 |
-
$check_format = get_usermeta($
|
998 |
if (empty($check_format)) {
|
999 |
// ensure existing subscription options are not overwritten on upgrade
|
1000 |
if ('html' == $this->subscribe2_options['autoformat']) {
|
1001 |
-
update_usermeta($
|
1002 |
-
update_usermeta($
|
1003 |
} elseif ('fulltext' == $this->subscribe2_options['autoformat']) {
|
1004 |
-
update_usermeta($
|
1005 |
-
update_usermeta($
|
1006 |
} else {
|
1007 |
-
update_usermeta($
|
1008 |
-
update_usermeta($
|
1009 |
}
|
1010 |
-
update_usermeta($
|
1011 |
// if the are no existing subscriptions, create them if, by default if autosub is on
|
1012 |
if ( ('yes' == $this->subscribe2_options['autosub']) || (('wpreg' == $this->subscribe2_options['autosub']) && ('on' == $_POST['subscribe'])) ) {
|
1013 |
-
update_usermeta($
|
1014 |
foreach (explode(',', $cats) as $cat) {
|
1015 |
-
update_usermeta($
|
1016 |
}
|
1017 |
}
|
1018 |
}
|
1019 |
-
$subscribed = get_usermeta($
|
1020 |
if (strstr($subscribed, '-1')) {
|
1021 |
// make sure we remove '-1' from any settings
|
1022 |
$old_cats = explode(',', $subscribed);
|
1023 |
$pos = array_search('-1', $old_cats);
|
1024 |
unset($old_cats[$pos]);
|
1025 |
$cats = implode(',', $old_cats);
|
1026 |
-
update_usermeta($
|
1027 |
}
|
1028 |
}
|
1029 |
-
return $
|
1030 |
} // end register()
|
1031 |
|
1032 |
/**
|
@@ -1035,7 +1063,7 @@ class s2class {
|
|
1035 |
function subscribe_registered_users($emails = '', $cats = '') {
|
1036 |
if ( ('' == $emails) || ('' == $cats) ) { return false; }
|
1037 |
global $wpdb;
|
1038 |
-
|
1039 |
$useremails = explode(",", $emails);
|
1040 |
$useremails = implode("', '", $useremails);
|
1041 |
|
@@ -1044,8 +1072,8 @@ class s2class {
|
|
1044 |
if (!is_array($cats)) {
|
1045 |
$cats = array($cats);
|
1046 |
}
|
1047 |
-
|
1048 |
-
foreach ($user_IDs as $user_ID) {
|
1049 |
$old_cats = get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
|
1050 |
$old_cats = explode(',', $old_cats);
|
1051 |
if (!is_array($old_cats)) {
|
@@ -1069,7 +1097,7 @@ class s2class {
|
|
1069 |
function unsubscribe_registered_users($emails = '', $cats = '') {
|
1070 |
if ( ('' == $emails) || ('' == $cats) ) { return false; }
|
1071 |
global $wpdb;
|
1072 |
-
|
1073 |
$useremails = explode(",", $emails);
|
1074 |
$useremails = implode("', '", $useremails);
|
1075 |
|
@@ -1078,8 +1106,8 @@ class s2class {
|
|
1078 |
if (!is_array($cats)) {
|
1079 |
$cats = array($cats);
|
1080 |
}
|
1081 |
-
|
1082 |
-
foreach ($user_IDs as $user_ID) {
|
1083 |
$old_cats = explode(',', get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed')));
|
1084 |
if (!is_array($old_cats)) {
|
1085 |
$old_cats = array($old_cats);
|
@@ -1113,12 +1141,14 @@ class s2class {
|
|
1113 |
if ($blog_id >= 0) {
|
1114 |
switch_to_blog($blog_id);
|
1115 |
|
1116 |
-
$
|
1117 |
|
1118 |
// if user is not a user of the current blog
|
1119 |
if (!is_blog_user($blog_id)) {
|
1120 |
// add user to current blog as subscriber
|
1121 |
-
add_user_to_blog($blog_id, $
|
|
|
|
|
1122 |
}
|
1123 |
|
1124 |
// subscribe to all categories by default
|
@@ -1139,12 +1169,12 @@ class s2class {
|
|
1139 |
foreach ($all_cats as $cat => $term) {
|
1140 |
$term_id = $term->term_id;
|
1141 |
$cats[] = $term_id;
|
1142 |
-
update_usermeta($
|
1143 |
}
|
1144 |
if (empty($cats)) {
|
1145 |
-
update_usermeta($
|
1146 |
} else {
|
1147 |
-
update_usermeta($
|
1148 |
}
|
1149 |
|
1150 |
// don't restore_current_blog(); -> redirect to new subscription page
|
@@ -1156,43 +1186,37 @@ class s2class {
|
|
1156 |
if ($blog_id >= 0) {
|
1157 |
switch_to_blog($blog_id);
|
1158 |
|
1159 |
-
$
|
1160 |
|
1161 |
// delete subscription to all categories on that blog
|
1162 |
-
$cats = get_usermeta($
|
1163 |
$cats = explode(',', $cats);
|
1164 |
if (!is_array($cats)) {
|
1165 |
$cats = array($cats);
|
1166 |
}
|
1167 |
|
1168 |
foreach ($cats as $id) {
|
1169 |
-
delete_usermeta($
|
1170 |
-
}
|
1171 |
-
update_usermeta($user_id, $this->get_usermeta_keyname('s2_subscribed'), '');
|
1172 |
-
|
1173 |
-
// remove level_0 users
|
1174 |
-
if (!current_user_can(1)) {
|
1175 |
-
$blogs = get_blogs_of_user($user_id, true);
|
1176 |
-
// if user only has one blog left
|
1177 |
-
if (count($blogs) == 1) {
|
1178 |
-
wp_delete_user($user_id, 1); // delete posts and reassign any existing posts to root user
|
1179 |
-
wp_redirect(get_option('siteurl')); // redirect to front page
|
1180 |
-
exit();
|
1181 |
-
} else {
|
1182 |
-
remove_user_from_blog($user_id, $blog_id);
|
1183 |
-
delete_usermeta($user_id, $this->get_usermeta_keyname('s2_subscribed'));
|
1184 |
-
}
|
1185 |
}
|
|
|
|
|
|
|
|
|
|
|
1186 |
restore_current_blog();
|
1187 |
$redirect_to_subscriptionpage = true;
|
1188 |
}
|
1189 |
}
|
1190 |
|
1191 |
if ($redirect_to_subscriptionpage == true) {
|
1192 |
-
if (!is_user_member_of_blog($
|
1193 |
-
$user_blogs = get_active_blog_for_user($
|
1194 |
if (is_array($user_blogs)) {
|
1195 |
switch_to_blog(key($user_blogs));
|
|
|
|
|
|
|
|
|
1196 |
}
|
1197 |
}
|
1198 |
|
@@ -1213,24 +1237,32 @@ class s2class {
|
|
1213 |
Autosubscribe registered users to newly created categories
|
1214 |
if registered user has selected this option
|
1215 |
*/
|
1216 |
-
function
|
|
|
1217 |
global $wpdb;
|
1218 |
|
1219 |
-
|
1220 |
-
|
1221 |
-
|
|
|
1222 |
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
|
|
|
|
|
|
|
|
|
|
1227 |
}
|
1228 |
-
|
1229 |
-
|
1230 |
-
$
|
1231 |
-
|
|
|
1232 |
}
|
1233 |
-
} // end
|
1234 |
|
1235 |
function delete_category($deleted_category='') {
|
1236 |
global $wpdb;
|
@@ -1239,7 +1271,7 @@ class s2class {
|
|
1239 |
$user_IDs = $wpdb->get_col($sql);
|
1240 |
if ('' == $user_IDs) { return; }
|
1241 |
|
1242 |
-
foreach ($user_IDs as $user_ID) {
|
1243 |
$old_cats = explode(',', get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed')));
|
1244 |
if (!is_array($old_cats)) {
|
1245 |
$old_cats = array($old_cats);
|
@@ -1249,7 +1281,6 @@ class s2class {
|
|
1249 |
$remain = array_diff($old_cats, (array)$deleted_category);
|
1250 |
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), implode(',', $remain));
|
1251 |
}
|
1252 |
-
|
1253 |
}
|
1254 |
|
1255 |
/**
|
@@ -1258,8 +1289,8 @@ class s2class {
|
|
1258 |
function get_userdata($admin_id) {
|
1259 |
global $wpdb, $userdata;
|
1260 |
|
1261 |
-
// ensure compatability with
|
1262 |
-
if ($admin_id == 'admin') {
|
1263 |
$admin_id = 1;
|
1264 |
}
|
1265 |
|
@@ -1271,13 +1302,13 @@ class s2class {
|
|
1271 |
|
1272 |
// if user record is empty grab the first admin from the database
|
1273 |
if (empty($admin)) {
|
1274 |
-
$sql = "SELECT DISTINCT(ID) FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value
|
1275 |
$admin = get_userdata($wpdb->get_var($sql));
|
1276 |
}
|
1277 |
|
1278 |
return $admin;
|
1279 |
} //end get_userdata()
|
1280 |
-
|
1281 |
/* ===== Menus ===== */
|
1282 |
/**
|
1283 |
Our management page
|
@@ -1474,8 +1505,8 @@ class s2class {
|
|
1474 |
echo "<p>" . __('Enter addresses, one per line or comma-separated', 'subscribe2') . "<br />\r\n";
|
1475 |
echo "<textarea rows=\"2\" cols=\"80\" name=\"addresses\"></textarea></p>\r\n";
|
1476 |
echo "<input type=\"hidden\" name=\"s2_admin\" />\r\n";
|
1477 |
-
echo "<p class=\"submit\" style=\"border-top: none;\"><input type=\"submit\" name=\"subscribe\" value=\"" . __('Subscribe', 'subscribe2') . "\" />";
|
1478 |
-
echo " <input type=\"submit\" name=\"unsubscribe\" value=\"" . __('Unsubscribe', 'subscribe2') . "\" /></p>\r\n";
|
1479 |
|
1480 |
// subscriber lists
|
1481 |
echo "<h2>" . __('Current Subscribers', 'subscribe2') . "</h2>\r\n";
|
@@ -1487,21 +1518,21 @@ class s2class {
|
|
1487 |
$exportcsv = implode(",\r\n", $subscribers);
|
1488 |
echo "<table cellpadding=\"2\" cellspacing=\"2\" width=\"100%\">";
|
1489 |
echo "<tr class=\"alternate\"><td width=\"50%\"><input type=\"text\" name=\"searchterm\" value=\"\" /> \r\n";
|
1490 |
-
echo "<input type=\"submit\" name=\"search\" value=\"" . __('Search Subscribers', 'subscribe2') . "\"
|
1491 |
if ($reminderform) {
|
1492 |
echo "<td width=\"25%\" align=\"right\"><input type=\"hidden\" name=\"reminderemails\" value=\"" . $reminderemails . "\" />\r\n";
|
1493 |
-
echo "<input type=\"submit\" name=\"remind\" value=\"" . __('Send Reminder Email', 'subscribe2') . "\"
|
1494 |
} else {
|
1495 |
echo "<td width=\"25%\"></td>";
|
1496 |
}
|
1497 |
echo "<td width=\"25%\" align=\"right\"><input type=\"hidden\" name=\"exportcsv\" value=\"" . $exportcsv . "\" />\r\n";
|
1498 |
-
echo "<input type=\"submit\" name=\"csv\" value=\"" . __('Save Emails to CSV File', 'subscribe2') . "\"
|
1499 |
echo "</table>";
|
1500 |
}
|
1501 |
|
1502 |
echo "<table class=\"widefat\" cellpadding=\"2\" cellspacing=\"2\">";
|
1503 |
if (!empty($subscribers)) {
|
1504 |
-
echo "<tr><td colspan=\"3\" align=\"center\"><input type=\"submit\" name=\"process\" value=\"" . __('Process', 'subscribe2') . "\"
|
1505 |
echo "<td align=\"right\">" . $strip . "</td></tr>\r\n";
|
1506 |
}
|
1507 |
if (!empty($subscribers)) {
|
@@ -1555,7 +1586,7 @@ class s2class {
|
|
1555 |
}
|
1556 |
}
|
1557 |
if (!empty($subscribers)) {
|
1558 |
-
echo "<tr><td colspan=\"3\" align=\"center\"><input type=\"submit\" name=\"process\" value=\"" . __('Process', 'subscribe2') . "\"
|
1559 |
echo "<td align=\"right\">" . $strip . "</td></tr>\r\n";
|
1560 |
}
|
1561 |
echo "</table>\r\n";
|
@@ -1571,7 +1602,7 @@ class s2class {
|
|
1571 |
echo "<label><input type=\"radio\" name=\"manage\" value=\"unsubscribe\" />" . __('Unsubscribe', 'subscribe2') . "</label><br /><br />\r\n";
|
1572 |
echo "<input type=\"hidden\" name=\"emails\" value=\"$emails\" />\r\n";
|
1573 |
$this->display_category_form();
|
1574 |
-
echo "<p class=\"submit\"><input type=\"submit\"
|
1575 |
echo "</form></div>\r\n";
|
1576 |
|
1577 |
include(ABSPATH . 'wp-admin/admin-footer.php');
|
@@ -1591,6 +1622,10 @@ class s2class {
|
|
1591 |
if ($_POST['reset']) {
|
1592 |
$this->reset();
|
1593 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_reset</strong></p></div>";
|
|
|
|
|
|
|
|
|
1594 |
} elseif ($_POST['submit']) {
|
1595 |
// BCClimit
|
1596 |
if ( (is_numeric($_POST['bcc'])) && ($_POST['bcc'] >= 0) ) {
|
@@ -1701,7 +1736,7 @@ class s2class {
|
|
1701 |
$this->subscribe2_options['autoformat'] = $_POST['autoformat'];
|
1702 |
$this->subscribe2_options['show_autosub'] = $_POST['show_autosub'];
|
1703 |
$this->subscribe2_options['autosub_def'] = $_POST['autosub_def'];
|
1704 |
-
|
1705 |
//barred domains
|
1706 |
$this->subscribe2_options['barred'] = $_POST['barred'];
|
1707 |
|
@@ -1764,7 +1799,7 @@ class s2class {
|
|
1764 |
echo " checked=\"checked\"";
|
1765 |
}
|
1766 |
echo " /> " . __('No', 'subscribe2') . "</label><br /><br />\r\n";
|
1767 |
-
|
1768 |
echo __('Send Emails for Pages', 'subscribe2') . ': ';
|
1769 |
echo "<label><input type=\"radio\" name=\"pages\" value=\"yes\"";
|
1770 |
if ('yes' == $this->subscribe2_options['pages']) {
|
@@ -1800,7 +1835,7 @@ class s2class {
|
|
1800 |
echo " /> " . __('No', 'subscribe2') . "</label><br /><br />\r\n";
|
1801 |
echo __('Send Email From', 'subscribe2') . ': ';
|
1802 |
echo "<label>\r\n";
|
1803 |
-
$this->admin_dropdown(
|
1804 |
echo "</label><br /><br />\r\n";
|
1805 |
if (function_exists('wp_schedule_event')) {
|
1806 |
echo __('Send Emails', 'subscribe2') . ": <br /><br />\r\n";
|
@@ -1818,6 +1853,7 @@ class s2class {
|
|
1818 |
echo "<br />\r\n";
|
1819 |
echo "<textarea rows=\"9\" cols=\"60\" name=\"mailtext\">" . stripslashes($this->subscribe2_options['mailtext']) . "</textarea><br /><br />\r\n";
|
1820 |
echo "</td><td valign=\"top\" rowspan=\"3\">";
|
|
|
1821 |
echo "<h3>" . __('Message substitions', 'subscribe2') . "</h3>\r\n";
|
1822 |
echo "<dl>";
|
1823 |
echo "<dt><b>BLOGNAME</b></dt><dd>" . get_bloginfo('name') . "</dd>\r\n";
|
@@ -1833,6 +1869,8 @@ class s2class {
|
|
1833 |
echo "<dt><b>AUTHORNAME</b></dt><dd>" . __("the post author's name", 'subscribe2') . "</dd>\r\n";
|
1834 |
echo "<dt><b>LINK</b></dt><dd>" . __("the generated link to confirm a request<br />(<i>only used in the confirmation email template</i>)", 'subscribe2') . "</dd>\r\n";
|
1835 |
echo "<dt><b>ACTION</b></dt><dd>" . __("Action performed by LINK in confirmation email<br />(<i>only used in the confirmation email template</i>)", 'subscribe2') . "</dd>\r\n";
|
|
|
|
|
1836 |
echo "</dl></td></tr><tr><td>";
|
1837 |
echo __('Subscribe / Unsubscribe confirmation email', 'subscribe2') . ":<br />\r\n";
|
1838 |
echo __('Subject Line', 'subscribe2') . ": ";
|
@@ -1856,11 +1894,11 @@ class s2class {
|
|
1856 |
echo " checked=\"checked\"";
|
1857 |
}
|
1858 |
echo " /> " . __('Allow registered users to subscribe to excluded categories?', 'subscribe2') . "</label></center><br />\r\n";
|
1859 |
-
|
1860 |
// Appearance options
|
1861 |
echo "<h2>" . __('Appearance', 'subscribe2') . "</h2>\r\n";
|
1862 |
echo"<p>";
|
1863 |
-
|
1864 |
// WordPress page ID where subscribe2 token is used
|
1865 |
echo __('Set default Subscribe2 page as ID', 'subscribe2') . ': ';
|
1866 |
echo "<span id=\"s2page_1\"><span id=\"s2page\" style=\"background-color: #FFFBCC\">" . $this->subscribe2_options['s2page'] . "</span> ";
|
@@ -1958,7 +1996,7 @@ class s2class {
|
|
1958 |
echo "checked=\"checked\" ";
|
1959 |
}
|
1960 |
echo "/> " . __('Plain Text - Excerpt', 'subscribe2') . "</label><br /><br />";
|
1961 |
-
echo __('
|
1962 |
echo "<label><input type=\"radio\" name=\"show_autosub\" value=\"yes\"";
|
1963 |
if ('yes' == $this->subscribe2_options['show_autosub']) {
|
1964 |
echo " checked=\"checked\"";
|
@@ -1968,8 +2006,13 @@ class s2class {
|
|
1968 |
if ('no' == $this->subscribe2_options['show_autosub']) {
|
1969 |
echo " checked=\"checked\"";
|
1970 |
}
|
1971 |
-
echo " />" . __('No', 'subscribe2') . "</label
|
1972 |
-
echo
|
|
|
|
|
|
|
|
|
|
|
1973 |
echo "<label><input type=\"radio\" name=\"autosub_def\" value=\"yes\"";
|
1974 |
if ('yes' == $this->subscribe2_options['autosub_def']) {
|
1975 |
echo " checked=\"checked\"";
|
@@ -1990,7 +2033,7 @@ class s2class {
|
|
1990 |
echo"</p>";
|
1991 |
|
1992 |
// submit
|
1993 |
-
echo "<p class=\"submit\" align=\"center\"><input type=\"submit\"
|
1994 |
|
1995 |
// reset
|
1996 |
echo "<h2>" . __('Reset Default', 'subscribe2') . "</h2>\r\n";
|
@@ -2162,10 +2205,9 @@ class s2class {
|
|
2162 |
}
|
2163 |
|
2164 |
// submit
|
2165 |
-
echo "<p class=\"submit\"><input type=\"submit\" name=\"submit\" value=\"" . __("Update Preferences", 'subscribe2') . " »\" /></p>";
|
2166 |
echo "</form>\r\n";
|
2167 |
-
|
2168 |
-
|
2169 |
// list of subscribed blogs on wordpress mu
|
2170 |
if ($this->s2_mu) {
|
2171 |
global $blog_id;
|
@@ -2174,7 +2216,7 @@ class s2class {
|
|
2174 |
$blogs_subscribed = array();
|
2175 |
$blogs_notsubscribed = array();
|
2176 |
|
2177 |
-
foreach ($blogs as $key => $blog) {
|
2178 |
// switch to blog
|
2179 |
switch_to_blog($blog['blog_id']);
|
2180 |
|
@@ -2330,7 +2372,7 @@ class s2class {
|
|
2330 |
$this->display_subscriber_dropdown('registered', false, array('all'));
|
2331 |
echo "<input type=\"hidden\" name=\"s2_admin\" value=\"mail\" />";
|
2332 |
echo "</p>";
|
2333 |
-
echo "<p class=\"submit\"><input type=\"submit\" name=\"submit\" value=\"" . __('Send', 'subscribe2') . "\" /></p>";
|
2334 |
echo "</form></div>\r\n";
|
2335 |
echo "<div style=\"clear: both;\"><p> </p></div>";
|
2336 |
|
@@ -2360,7 +2402,7 @@ class s2class {
|
|
2360 |
}
|
2361 |
}
|
2362 |
}
|
2363 |
-
|
2364 |
$half = (count($all_cats) / 2);
|
2365 |
$i = 0;
|
2366 |
$j = 0;
|
@@ -2468,7 +2510,7 @@ class s2class {
|
|
2468 |
}
|
2469 |
echo "</select>";
|
2470 |
if (false !== $submit) {
|
2471 |
-
echo " <input type=\"submit\"
|
2472 |
}
|
2473 |
} // end display_subscriber_dropdown()
|
2474 |
|
@@ -2476,13 +2518,12 @@ class s2class {
|
|
2476 |
Display a drop down lisy of administrator level users and
|
2477 |
optionally include a choice for Post Author
|
2478 |
*/
|
2479 |
-
function admin_dropdown($inc_author) {
|
2480 |
global $wpdb;
|
2481 |
|
2482 |
-
$sql = "SELECT ID,display_name FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value
|
2483 |
$admins = $wpdb->get_results($sql);
|
2484 |
-
|
2485 |
-
|
2486 |
if ($inc_author) {
|
2487 |
$author[] = (object)array('ID' => 'author', 'display_name' => 'Post Author');
|
2488 |
$admins = array_merge($author, $admins);
|
@@ -2599,9 +2640,9 @@ class s2class {
|
|
2599 |
*/
|
2600 |
function register_post() {
|
2601 |
if ('on' == $_POST['subscribe']) {
|
2602 |
-
$
|
2603 |
-
if (0 == $
|
2604 |
-
$this->register($
|
2605 |
}
|
2606 |
}
|
2607 |
|
@@ -2649,7 +2690,7 @@ class s2class {
|
|
2649 |
Meta box form handler
|
2650 |
*/
|
2651 |
function s2_meta_handler($post_id) {
|
2652 |
-
if (!wp_verify_nonce($_POST['s2meta_nonce'], md5(plugin_basename(__FILE__)))) { return $post_id; }
|
2653 |
|
2654 |
if ('page' == $_POST['post_type']) {
|
2655 |
if (!current_user_can('edit_page', $post_id)) { return $post_id; }
|
@@ -2657,7 +2698,7 @@ class s2class {
|
|
2657 |
if (!current_user_can('edit_post', $post_id)) { return $post_id; }
|
2658 |
}
|
2659 |
|
2660 |
-
if ($_POST['s2_meta_field'] == 'no') {
|
2661 |
update_post_meta($post_id, 's2mail', $_POST['s2_meta_field']);
|
2662 |
} else {
|
2663 |
delete_post_meta($post_id, 's2mail');
|
@@ -2897,7 +2938,7 @@ class s2class {
|
|
2897 |
$arr['subscribe2'] = $path;
|
2898 |
return $arr;
|
2899 |
}
|
2900 |
-
|
2901 |
function mce3_button($arr) {
|
2902 |
$arr[] = 'subscribe2';
|
2903 |
return $arr;
|
@@ -3107,7 +3148,7 @@ class s2class {
|
|
3107 |
add_filter('the_title', array(&$this, 'title_filter'));
|
3108 |
add_filter('the_content', array(&$this, 'confirm'));
|
3109 |
}
|
3110 |
-
|
3111 |
if ( (isset($_POST['s2_admin'])) && ($_POST['csv']) ) {
|
3112 |
$date = date('Y-m-d');
|
3113 |
header("Content-Description: File Transfer");
|
@@ -3119,12 +3160,12 @@ class s2class {
|
|
3119 |
|
3120 |
exit(0);
|
3121 |
}
|
3122 |
-
|
3123 |
//add regular actions and filters
|
3124 |
add_action('admin_menu', array(&$this, 'admin_menu'));
|
3125 |
add_action('admin_menu', array(&$this, 's2_meta_init'));
|
3126 |
add_action('save_post', array(&$this, 's2_meta_handler'));
|
3127 |
-
add_action('create_category', array(&$this, '
|
3128 |
add_action('delete_category', array(&$this, 'delete_category'));
|
3129 |
add_filter('the_content', array(&$this, 'filter'), 10);
|
3130 |
add_filter('cron_schedules', array(&$this, 'add_weekly_sched'));
|
@@ -3145,8 +3186,8 @@ class s2class {
|
|
3145 |
add_action('register_form', array(&$this, 'register_form'));
|
3146 |
add_action('user_register', array(&$this, 'register'));
|
3147 |
add_action('add_user_to_blog', array(&$this, 'register'), 10, 1);
|
3148 |
-
|
3149 |
-
if ($this->s2_mu) {
|
3150 |
add_action('admin_init', array(&$this, 'wpmu_subscribe'));
|
3151 |
}
|
3152 |
|
3 |
Plugin Name: Subscribe2
|
4 |
Plugin URI: http://subscribe2.wordpress.com
|
5 |
Description: Notifies an email list when new entries are posted.
|
6 |
+
Version: 4.17
|
7 |
Author: Matthew Robinson
|
8 |
Author URI: http://subscribe2.wordpress.com
|
9 |
*/
|
31 |
|
32 |
// our version number. Don't touch this or any line below
|
33 |
// unless you know exacly what you are doing
|
34 |
+
define('S2VERSION', '4.17');
|
35 |
define('S2PATH', trailingslashit(dirname(__FILE__)));
|
36 |
|
37 |
// Pre-2.6 compatibility
|
139 |
function checkbox_form_js() {
|
140 |
wp_enqueue_script('s2_checkbox', WP_CONTENT_URL . '/plugins/' . dirname( plugin_basename( __FILE__ ) ) . '/include/s2_checkbox.js', array('jquery'), '1.0');
|
141 |
} //end checkbox_form_js()
|
142 |
+
|
143 |
function user_admin_css() {
|
144 |
wp_enqueue_style('s2_user_admin', WP_CONTENT_URL . '/plugins/ '. dirname( plugin_basename( __FILE__ ) ) . '/include/s2_user_admin.css', array(), '1.0');
|
145 |
}
|
205 |
//double check that the options are in the database
|
206 |
require(S2PATH . "include/options.php");
|
207 |
update_option('subscribe2_options', $this->subscribe2_options);
|
208 |
+
|
209 |
// upgrade old wpmu user meta data to new
|
210 |
if ( (isset($wpmu_version)) || (strpos($wp_version, 'wordpress-mu')) ) {
|
211 |
$this->namechange_subscribe2_widget();
|
269 |
$string = str_replace("PERMALINK", $this->permalink, $string);
|
270 |
if (strstr($string, "TINYLINK")) {
|
271 |
$tinylink = file_get_contents('http://tinyurl.com/api-create.php?url=' . urlencode($this->permalink));
|
272 |
+
if ( ($tinylink !== 'Error') || ($tinylink != false) ) {
|
273 |
$string = str_replace("TINYLINK", $tinylink, $string);
|
274 |
} else {
|
275 |
$string = str_replace("TINYLINK", $this->permalink, $string);
|
278 |
$string = str_replace("MYNAME", stripslashes($this->myname), $string);
|
279 |
$string = str_replace("EMAIL", $this->myemail, $string);
|
280 |
$string = str_replace("AUTHORNAME", $this->authorname, $string);
|
281 |
+
$string = str_replace("CATS", $this->post_cats_names, $string);
|
282 |
+
$string = str_replace("TAGS", $this->post_tags_names, $string);
|
283 |
+
|
284 |
return $string;
|
285 |
} // end substitute()
|
286 |
|
290 |
function mail($recipients = array(), $subject = '', $message = '', $type='text') {
|
291 |
if ( (empty($recipients)) || ('' == $message) ) { return; }
|
292 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
if ('html' == $type) {
|
294 |
+
$headers = $this->headers('html');
|
|
|
|
|
295 |
if ('yes' == $this->subscribe2_options['stylesheet']) {
|
296 |
$mailtext = apply_filters('s2_html_email', "<html><head><title>" . $subject . "</title><link rel=\"stylesheet\" href=\"" . get_bloginfo('stylesheet_url') . "\" type=\"text/css\" media=\"screen\" /></head><body>" . $message . "</body></html>");
|
297 |
} else {
|
298 |
$mailtext = apply_filters('s2_html_email', "<html><head><title>" . $subject . "</title></head><body>" . $message . "</body></html>");
|
299 |
}
|
300 |
} else {
|
301 |
+
$headers = $this->headers();
|
|
|
302 |
$message = preg_replace('|&[^a][^m][^p].{0,3};|', '', $message);
|
303 |
$message = preg_replace('|&|', '&', $message);
|
304 |
$message = wordwrap(strip_tags($message), 80, "\n");
|
374 |
return $status;
|
375 |
} // end mail()
|
376 |
|
377 |
+
|
378 |
+
/**
|
379 |
+
Construct standard set of email headers
|
380 |
+
*/
|
381 |
+
function headers($type='text') {
|
382 |
+
$admin = $this->get_userdata($this->subscribe2_options['sender']);
|
383 |
+
$this->myname = html_entity_decode($admin->display_name);
|
384 |
+
$this->myemail = $admin->user_email;
|
385 |
+
|
386 |
+
$headers = "From: \"" . $this->myname . "\" <" . $this->myemail . ">\n";
|
387 |
+
$headers .= "Reply-To: \"" . $this->myname . "\" <" . $this->myemail . ">\n";
|
388 |
+
$headers .= "Return-path: <" . $this->myemail . ">\n";
|
389 |
+
$headers .= "Precedence: list\nList-Id: " . get_option('blogname') . "\n";
|
390 |
+
$headers .= "MIME-Version: 1.0\n";
|
391 |
+
$headers .= "X-Mailer: PHP" . phpversion() . "\n";
|
392 |
+
if ($type == 'html') {
|
393 |
+
// To send HTML mail, the Content-Type header must be set
|
394 |
+
$headers .= "Content-Type: " . get_bloginfo('html_type') . "; charset=\"". get_bloginfo('charset') . "\"\n";
|
395 |
+
} else {
|
396 |
+
$headers .= "Content-Type: text/plain; charset=\"". get_bloginfo('charset') . "\"\n";
|
397 |
+
}
|
398 |
+
|
399 |
+
return $headers;
|
400 |
+
} // end headers()
|
401 |
+
|
402 |
/**
|
403 |
Sends an email notification of a new post
|
404 |
*/
|
405 |
+
function publish($post = 0, $preview = '') {
|
406 |
if (!$post) { return $post; }
|
407 |
|
408 |
+
if ($preview == '') {
|
409 |
+
// we aren't sending a Preview to the current user so carry out checks
|
410 |
+
$s2mail = get_post_meta($post->ID, 's2mail', true);
|
411 |
+
if ( (isset($_POST['s2_meta_field']) && ($_POST['s2_meta_field'] == 'no')) || (strtolower(trim($s2mail)) == 'no') ) { return $post; }
|
|
|
412 |
|
413 |
+
// are we doing daily digests? If so, don't send anything now
|
414 |
+
if ($this->subscribe2_options['email_freq'] != 'never') { return $post; }
|
|
|
|
|
|
|
415 |
|
416 |
+
// is the current post a page
|
417 |
+
// and should this not generate a notification email?
|
418 |
+
if ( ($this->subscribe2_options['pages'] == 'no') && ($post->post_type == 'page') ) {
|
419 |
+
return $post;
|
420 |
+
}
|
421 |
|
422 |
+
// is this post set in the future?
|
423 |
+
if ($post->post_date > current_time('mysql')) {
|
424 |
+
// bail out
|
425 |
return $post;
|
426 |
+
}
|
427 |
|
428 |
+
//Are we sending notifications for password protected posts?
|
429 |
+
if ( ($this->subscribe2_options['password'] == "no") && ($post->post_password != '') ) {
|
430 |
+
return $post;
|
|
|
|
|
|
|
|
|
|
|
431 |
}
|
|
|
432 |
|
433 |
+
$post_cats = wp_get_post_categories($post->ID);
|
434 |
+
$check = false;
|
435 |
+
// is the current post assigned to any categories
|
436 |
+
// which should not generate a notification email?
|
437 |
+
foreach (explode(',', $this->subscribe2_options['exclude']) as $cat) {
|
438 |
+
if (in_array($cat, $post_cats)) {
|
439 |
+
$check = true;
|
440 |
+
}
|
441 |
}
|
|
|
442 |
|
443 |
+
if ($check) {
|
444 |
+
// hang on -- can registered users subscribe to
|
445 |
+
// excluded categories?
|
446 |
+
if ('0' == $this->subscribe2_options['reg_override']) {
|
447 |
+
// nope? okay, let's leave
|
448 |
+
return $post;
|
449 |
+
}
|
450 |
+
}
|
451 |
|
452 |
+
// Are we sending notifications for Private posts?
|
453 |
+
// Action is added if we are, but double check option and post status
|
454 |
+
if ( ($this->subscribe2_options['private'] == "yes") && ($post->post_status == 'private') ) {
|
455 |
+
// don't send notification to public users
|
456 |
+
$check = true;
|
457 |
+
}
|
458 |
+
|
459 |
+
// lets collect our subscribers
|
460 |
+
if (!$check) {
|
461 |
+
// if this post is assigned to an excluded
|
462 |
+
// category, or is a private post then
|
463 |
+
// don't send public subscribers a notification
|
464 |
+
$public = $this->get_public();
|
465 |
+
}
|
466 |
+
$post_cats_string = implode(',', $post_cats);
|
467 |
+
$registered = $this->get_registered("cats=$post_cats_string");
|
468 |
|
469 |
+
// do we have subscribers?
|
470 |
+
if ( (empty($public)) && (empty($registered)) ) {
|
471 |
+
// if not, no sense doing anything else
|
472 |
+
return $post;
|
473 |
+
}
|
474 |
}
|
475 |
+
|
476 |
// we set these class variables so that we can avoid
|
477 |
// passing them in function calls a little later
|
478 |
$this->post_title = "<a href=\"" . get_permalink($post->ID) . "\">" . $post->post_title . "</a>";
|
479 |
$this->permalink = "<a href=\"" . get_permalink($post->ID) . "\">" . get_permalink($post->ID) . "</a>";
|
480 |
+
|
481 |
$author = get_userdata($post->post_author);
|
482 |
$this->authorname = $author->display_name;
|
483 |
|
484 |
// do we send as admin, or post author?
|
485 |
if ('author' == $this->subscribe2_options['sender']) {
|
486 |
+
// get author details
|
487 |
$user = &$author;
|
488 |
} else {
|
489 |
// get admin details
|
497 |
$mailtext = apply_filters('s2_email_template', $this->subscribe2_options['mailtext']);
|
498 |
$mailtext = stripslashes($this->substitute($mailtext));
|
499 |
|
500 |
+
$this->post_cat_names = implode(', ', wp_get_post_categories($post->ID, array('fields' => 'names')));
|
501 |
+
$this->post_tag_names = implode(', ', wp_get_post_tags($post->ID, array('fields' => 'names')));
|
502 |
+
|
503 |
$plaintext = $post->post_content;
|
504 |
if (function_exists('strip_shortcodes')) {
|
505 |
$plaintext = strip_shortcodes($plaintext);
|
529 |
}
|
530 |
}
|
531 |
|
532 |
+
// prepare mail body texts
|
533 |
+
$excerpt_body = str_replace("POST", $excerpt, $mailtext);
|
534 |
+
$full_body = str_replace("POST", strip_tags($plaintext), $mailtext);
|
535 |
+
$html_body = str_replace("\r\n", "<br />\r\n", $mailtext);
|
536 |
+
$html_body = str_replace("POST", $content, $html_body);
|
537 |
+
|
538 |
+
if ($preview != '') {
|
539 |
+
$this->mail(array($preview), $subject, $excerpt_body);
|
540 |
+
$this->mail(array($preview), $subject, $full_body);
|
541 |
+
$this->mail(array($preview), $subject, $html_body, 'html');
|
542 |
} else {
|
543 |
+
// first we send plaintext summary emails
|
544 |
+
$registered = $this->get_registered("cats=$post_cats_string&format=text&amount=excerpt");
|
545 |
+
if (empty($registered)) {
|
546 |
+
$recipients = (array)$public;
|
547 |
+
}
|
548 |
+
elseif (empty($public)) {
|
549 |
+
$recipients = (array)$registered;
|
550 |
+
} else {
|
551 |
+
$recipients = array_merge((array)$public, (array)$registered);
|
552 |
+
}
|
553 |
+
$this->mail($recipients, $subject, $excerpt_body);
|
554 |
+
|
555 |
+
// next we send plaintext full content emails
|
556 |
+
$this->mail($this->get_registered("cats=$post_cats_string&format=text&amount=post"), $subject, $full_body);
|
557 |
+
|
558 |
+
// finally we send html full content emails
|
559 |
+
$this->mail($this->get_registered("cats=$post_cats_string&format=html"), $subject, $html_body, 'html');
|
560 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
561 |
} // end publish()
|
562 |
|
563 |
/**
|
574 |
/**
|
575 |
Send confirmation email to the user
|
576 |
*/
|
577 |
+
function send_confirm($what = '', $is_remind = false) {
|
578 |
+
if ($this->filtered == 1) { return true; }
|
579 |
if ( (!$this->email) || (!$what) ) {
|
580 |
return false;
|
581 |
}
|
599 |
$link .= md5($this->email);
|
600 |
$link .= $id;
|
601 |
|
602 |
+
if ($is_remind == true) {
|
|
|
|
|
|
|
603 |
$body = $this->substitute(stripslashes($this->subscribe2_options['remind_email']));
|
604 |
$subject = $this->substitute(stripslashes($this->subscribe2_options['remind_subject']));
|
605 |
} else {
|
614 |
|
615 |
$body = str_replace("LINK", $link, $body);
|
616 |
|
617 |
+
$mailheaders = $this->headers();
|
|
|
|
|
|
|
|
|
|
|
|
|
618 |
|
619 |
return @wp_mail($this->email, $subject, $body, $mailheaders);
|
620 |
} // end send_confirm()
|
734 |
*/
|
735 |
function remind($emails = '') {
|
736 |
if ('' == $emails) { return false; }
|
737 |
+
|
738 |
$recipients = explode(",", $emails);
|
739 |
if (!is_array($recipients)) { $recipients = (array)$recipients; }
|
740 |
foreach ($recipients as $recipient) {
|
741 |
$this->email = $recipient;
|
742 |
+
$this->send_confirm('add', true);
|
743 |
}
|
744 |
} //end remind()
|
745 |
|
750 |
$barred_option = $this->subscribe2_options['barred'];
|
751 |
list($user, $domain) = split('@', $email);
|
752 |
$bar_check = stristr($barred_option, $domain);
|
753 |
+
|
754 |
if (!empty($bar_check)) {
|
755 |
return true;
|
756 |
} else {
|
757 |
return false;
|
758 |
}
|
759 |
} //end is_barred()
|
760 |
+
|
761 |
/**
|
762 |
Confirm request from the link emailed to the user and email the admin
|
763 |
*/
|
792 |
$subject = '[' . get_option('blogname') . '] ' . __('New subscription', 'subscribe2');
|
793 |
$message = $this->email . " " . __('subscribed to email notifications!', 'subscribe2');
|
794 |
$recipients = $wpdb->get_col("SELECT DISTINCT(user_email) FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value='10'");
|
795 |
+
$headers = $this->headers();
|
796 |
+
foreach ($recipients as $recipient) {
|
797 |
+
@wp_mail($recipient, $subject, $message, $headers);
|
798 |
+
}
|
799 |
}
|
800 |
}
|
801 |
$this->filtered = 1;
|
808 |
$subject = '[' . get_option('blogname') . '] ' . __('New Unsubscription', 'subscribe2');
|
809 |
$message = $this->email . " " . __('unsubscribed from email notifications!', 'subscribe2');
|
810 |
$recipients = $wpdb->get_col("SELECT DISTINCT(user_email) FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value='10'");
|
811 |
+
$headers = $this->headers();
|
812 |
+
foreach ($recipients as $recipient) {
|
813 |
+
@wp_mail($recipient, $subject, $message, $headers);
|
814 |
+
}
|
815 |
}
|
816 |
}
|
817 |
$this->filtered = 1;
|
941 |
// specific category subscribers
|
942 |
if ('' != $r['cats']) {
|
943 |
$JOIN .= "INNER JOIN $wpdb->usermeta AS d ON a.user_id = d.user_id ";
|
944 |
+
$all = '';
|
945 |
foreach (explode(',', $r['cats']) as $cat) {
|
946 |
('' == $and) ? $and = "d.meta_key='" . $this->get_usermeta_keyname('s2_cat') . "$cat'" : $and .= " OR d.meta_key='" . $this->get_usermeta_keyname('s2_cat') . "$cat'";
|
947 |
}
|
982 |
Create the appropriate usermeta values when a user registers
|
983 |
If the registering user had previously subscribed to notifications, this function will delete them from the public subscriber list first
|
984 |
*/
|
985 |
+
function register($user_ID = 0) {
|
986 |
global $wpdb;
|
987 |
|
988 |
+
if (0 == $user_ID) { return $user_ID; }
|
989 |
+
$user = get_userdata($user_ID);
|
990 |
$all_cats = get_categories(array('hide_empty' => false));
|
991 |
|
992 |
// Are registered users are allowed to subscribe to excluded categories?
|
1006 |
|
1007 |
if ('' == $cats) {
|
1008 |
// sanity check, might occur if all cats excluded and reg_override = 0
|
1009 |
+
return $user_ID;
|
1010 |
}
|
1011 |
|
1012 |
// has this user previously signed up for email notification?
|
1013 |
if (false !== $this->is_public($user->user_email)) {
|
1014 |
// delete this user from the public table, and subscribe them to all the categories
|
1015 |
$this->delete($user->user_email);
|
1016 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), $cats);
|
1017 |
foreach (explode(',', $cats) as $cat) {
|
1018 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $cat, "$cat");
|
1019 |
}
|
1020 |
+
update_usermeta($user_ID, 's2_format', 'text');
|
1021 |
+
update_usermeta($user_ID, 's2_excerpt', 'excerpt');
|
1022 |
+
update_usermeta($user_ID, 's2_autosub', $this->subscribe2_options['autosub_def']);
|
1023 |
} else {
|
1024 |
// create post format entries for all users
|
1025 |
+
$check_format = get_usermeta($user_ID, 's2_format');
|
1026 |
if (empty($check_format)) {
|
1027 |
// ensure existing subscription options are not overwritten on upgrade
|
1028 |
if ('html' == $this->subscribe2_options['autoformat']) {
|
1029 |
+
update_usermeta($user_ID, 's2_format', 'html');
|
1030 |
+
update_usermeta($user_ID, 's2_excerpt', 'post');
|
1031 |
} elseif ('fulltext' == $this->subscribe2_options['autoformat']) {
|
1032 |
+
update_usermeta($user_ID, 's2_format', 'text');
|
1033 |
+
update_usermeta($user_ID, 's2_excerpt', 'post');
|
1034 |
} else {
|
1035 |
+
update_usermeta($user_ID, 's2_format', 'text');
|
1036 |
+
update_usermeta($user_ID, 's2_excerpt', 'excerpt');
|
1037 |
}
|
1038 |
+
update_usermeta($user_ID, 's2_autosub', $this->subscribe2_options['autosub_def']);
|
1039 |
// if the are no existing subscriptions, create them if, by default if autosub is on
|
1040 |
if ( ('yes' == $this->subscribe2_options['autosub']) || (('wpreg' == $this->subscribe2_options['autosub']) && ('on' == $_POST['subscribe'])) ) {
|
1041 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), $cats);
|
1042 |
foreach (explode(',', $cats) as $cat) {
|
1043 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $cat, "$cat");
|
1044 |
}
|
1045 |
}
|
1046 |
}
|
1047 |
+
$subscribed = get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
|
1048 |
if (strstr($subscribed, '-1')) {
|
1049 |
// make sure we remove '-1' from any settings
|
1050 |
$old_cats = explode(',', $subscribed);
|
1051 |
$pos = array_search('-1', $old_cats);
|
1052 |
unset($old_cats[$pos]);
|
1053 |
$cats = implode(',', $old_cats);
|
1054 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), $cats);
|
1055 |
}
|
1056 |
}
|
1057 |
+
return $user_ID;
|
1058 |
} // end register()
|
1059 |
|
1060 |
/**
|
1063 |
function subscribe_registered_users($emails = '', $cats = '') {
|
1064 |
if ( ('' == $emails) || ('' == $cats) ) { return false; }
|
1065 |
global $wpdb;
|
1066 |
+
|
1067 |
$useremails = explode(",", $emails);
|
1068 |
$useremails = implode("', '", $useremails);
|
1069 |
|
1072 |
if (!is_array($cats)) {
|
1073 |
$cats = array($cats);
|
1074 |
}
|
1075 |
+
|
1076 |
+
foreach ($user_IDs as $user_ID) {
|
1077 |
$old_cats = get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
|
1078 |
$old_cats = explode(',', $old_cats);
|
1079 |
if (!is_array($old_cats)) {
|
1097 |
function unsubscribe_registered_users($emails = '', $cats = '') {
|
1098 |
if ( ('' == $emails) || ('' == $cats) ) { return false; }
|
1099 |
global $wpdb;
|
1100 |
+
|
1101 |
$useremails = explode(",", $emails);
|
1102 |
$useremails = implode("', '", $useremails);
|
1103 |
|
1106 |
if (!is_array($cats)) {
|
1107 |
$cats = array($cats);
|
1108 |
}
|
1109 |
+
|
1110 |
+
foreach ($user_IDs as $user_ID) {
|
1111 |
$old_cats = explode(',', get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed')));
|
1112 |
if (!is_array($old_cats)) {
|
1113 |
$old_cats = array($old_cats);
|
1141 |
if ($blog_id >= 0) {
|
1142 |
switch_to_blog($blog_id);
|
1143 |
|
1144 |
+
$user_ID = get_current_user_id();
|
1145 |
|
1146 |
// if user is not a user of the current blog
|
1147 |
if (!is_blog_user($blog_id)) {
|
1148 |
// add user to current blog as subscriber
|
1149 |
+
add_user_to_blog($blog_id, $user_ID, 'subscriber');
|
1150 |
+
// add an action hook for external manipulation of blog and user data
|
1151 |
+
do_action_ref_array('subscribe2_wpmu_subscribe', array($user_ID, $blog_id));
|
1152 |
}
|
1153 |
|
1154 |
// subscribe to all categories by default
|
1169 |
foreach ($all_cats as $cat => $term) {
|
1170 |
$term_id = $term->term_id;
|
1171 |
$cats[] = $term_id;
|
1172 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $term_id, $term_id);
|
1173 |
}
|
1174 |
if (empty($cats)) {
|
1175 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), '');
|
1176 |
} else {
|
1177 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), implode(',', $cats));
|
1178 |
}
|
1179 |
|
1180 |
// don't restore_current_blog(); -> redirect to new subscription page
|
1186 |
if ($blog_id >= 0) {
|
1187 |
switch_to_blog($blog_id);
|
1188 |
|
1189 |
+
$user_ID = get_current_user_id();
|
1190 |
|
1191 |
// delete subscription to all categories on that blog
|
1192 |
+
$cats = get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
|
1193 |
$cats = explode(',', $cats);
|
1194 |
if (!is_array($cats)) {
|
1195 |
$cats = array($cats);
|
1196 |
}
|
1197 |
|
1198 |
foreach ($cats as $id) {
|
1199 |
+
delete_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1200 |
}
|
1201 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), '');
|
1202 |
+
|
1203 |
+
// add an action hook for external manipulation of blog and user data
|
1204 |
+
do_action_ref_array('subscribe2_wpmu_unsubscribe', array($user_ID, $blog_id));
|
1205 |
+
|
1206 |
restore_current_blog();
|
1207 |
$redirect_to_subscriptionpage = true;
|
1208 |
}
|
1209 |
}
|
1210 |
|
1211 |
if ($redirect_to_subscriptionpage == true) {
|
1212 |
+
if (!is_user_member_of_blog($user_ID)) {
|
1213 |
+
$user_blogs = get_active_blog_for_user($user_ID);
|
1214 |
if (is_array($user_blogs)) {
|
1215 |
switch_to_blog(key($user_blogs));
|
1216 |
+
} else {
|
1217 |
+
// no longer a member of a blog
|
1218 |
+
wp_redirect(get_option('siteurl')); // redirect to front page
|
1219 |
+
exit();
|
1220 |
}
|
1221 |
}
|
1222 |
|
1237 |
Autosubscribe registered users to newly created categories
|
1238 |
if registered user has selected this option
|
1239 |
*/
|
1240 |
+
function new_category($new_category='') {
|
1241 |
+
if ('no' == $this->subscribe2_options['show_autosub']) { return; }
|
1242 |
global $wpdb;
|
1243 |
|
1244 |
+
if ('yes' == $this->subscribe2_options['show_autosub']) {
|
1245 |
+
$sql = "SELECT DISTINCT user_id FROM $wpdb->usermeta WHERE $wpdb->usermeta.meta_key='s2_autosub' AND $wpdb->usermeta.meta_value='yes'";
|
1246 |
+
$user_IDs = $wpdb->get_col($sql);
|
1247 |
+
if ('' == $user_IDs) { return; }
|
1248 |
|
1249 |
+
foreach ($user_IDs as $user_ID) {
|
1250 |
+
$old_cats = explode(',', get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed')));
|
1251 |
+
if (!is_array($old_cats)) {
|
1252 |
+
$old_cats = array($old_cats);
|
1253 |
+
}
|
1254 |
+
// add subscription to these cat IDs
|
1255 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_cat') . $new_category, "$new_category");
|
1256 |
+
$newcats = array_merge($old_cats, (array)$new_category);
|
1257 |
+
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), implode(',', $newcats));
|
1258 |
}
|
1259 |
+
} elseif ('exclude' == $this->subscribe2_options['show_autosub']) {
|
1260 |
+
$excluded_cats = explode(',', $this->subscribe2_options['exclude']);
|
1261 |
+
$excluded_cats[] = $new_category;
|
1262 |
+
$this->subscribe2_options['exclude'] = implode(',', $excluded_cats);
|
1263 |
+
update_option('subscribe2_options', $this->subscribe2_options);
|
1264 |
}
|
1265 |
+
} // end new_category()
|
1266 |
|
1267 |
function delete_category($deleted_category='') {
|
1268 |
global $wpdb;
|
1271 |
$user_IDs = $wpdb->get_col($sql);
|
1272 |
if ('' == $user_IDs) { return; }
|
1273 |
|
1274 |
+
foreach ($user_IDs as $user_ID) {
|
1275 |
$old_cats = explode(',', get_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed')));
|
1276 |
if (!is_array($old_cats)) {
|
1277 |
$old_cats = array($old_cats);
|
1281 |
$remain = array_diff($old_cats, (array)$deleted_category);
|
1282 |
update_usermeta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), implode(',', $remain));
|
1283 |
}
|
|
|
1284 |
}
|
1285 |
|
1286 |
/**
|
1289 |
function get_userdata($admin_id) {
|
1290 |
global $wpdb, $userdata;
|
1291 |
|
1292 |
+
// ensure compatability with possible 'sender' settings
|
1293 |
+
if ( ($admin_id == 'admin') || ($admin_id == 'author') ) {
|
1294 |
$admin_id = 1;
|
1295 |
}
|
1296 |
|
1302 |
|
1303 |
// if user record is empty grab the first admin from the database
|
1304 |
if (empty($admin)) {
|
1305 |
+
$sql = "SELECT DISTINCT(ID) FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value IN (8, 9, 10) LIMIT 1";
|
1306 |
$admin = get_userdata($wpdb->get_var($sql));
|
1307 |
}
|
1308 |
|
1309 |
return $admin;
|
1310 |
} //end get_userdata()
|
1311 |
+
|
1312 |
/* ===== Menus ===== */
|
1313 |
/**
|
1314 |
Our management page
|
1505 |
echo "<p>" . __('Enter addresses, one per line or comma-separated', 'subscribe2') . "<br />\r\n";
|
1506 |
echo "<textarea rows=\"2\" cols=\"80\" name=\"addresses\"></textarea></p>\r\n";
|
1507 |
echo "<input type=\"hidden\" name=\"s2_admin\" />\r\n";
|
1508 |
+
echo "<p class=\"submit\" style=\"border-top: none;\"><input type=\"submit\" class=\"button-primary\" name=\"subscribe\" value=\"" . __('Subscribe', 'subscribe2') . "\" />";
|
1509 |
+
echo " <input type=\"submit\" class=\"button-primary\" name=\"unsubscribe\" value=\"" . __('Unsubscribe', 'subscribe2') . "\" /></p>\r\n";
|
1510 |
|
1511 |
// subscriber lists
|
1512 |
echo "<h2>" . __('Current Subscribers', 'subscribe2') . "</h2>\r\n";
|
1518 |
$exportcsv = implode(",\r\n", $subscribers);
|
1519 |
echo "<table cellpadding=\"2\" cellspacing=\"2\" width=\"100%\">";
|
1520 |
echo "<tr class=\"alternate\"><td width=\"50%\"><input type=\"text\" name=\"searchterm\" value=\"\" /> \r\n";
|
1521 |
+
echo "<input type=\"submit\" class=\"button-secondary\" name=\"search\" value=\"" . __('Search Subscribers', 'subscribe2') . "\" /></td>\r\n";
|
1522 |
if ($reminderform) {
|
1523 |
echo "<td width=\"25%\" align=\"right\"><input type=\"hidden\" name=\"reminderemails\" value=\"" . $reminderemails . "\" />\r\n";
|
1524 |
+
echo "<input type=\"submit\" class=\"button-secondary\" name=\"remind\" value=\"" . __('Send Reminder Email', 'subscribe2') . "\" /></td>\r\n";
|
1525 |
} else {
|
1526 |
echo "<td width=\"25%\"></td>";
|
1527 |
}
|
1528 |
echo "<td width=\"25%\" align=\"right\"><input type=\"hidden\" name=\"exportcsv\" value=\"" . $exportcsv . "\" />\r\n";
|
1529 |
+
echo "<input type=\"submit\" class=\"button-secondary\" name=\"csv\" value=\"" . __('Save Emails to CSV File', 'subscribe2') . "\" /></td></tr>\r\n";
|
1530 |
echo "</table>";
|
1531 |
}
|
1532 |
|
1533 |
echo "<table class=\"widefat\" cellpadding=\"2\" cellspacing=\"2\">";
|
1534 |
if (!empty($subscribers)) {
|
1535 |
+
echo "<tr><td colspan=\"3\" align=\"center\"><input type=\"submit\" class=\"button-secondary\" name=\"process\" value=\"" . __('Process', 'subscribe2') . "\" /></td>\r\n";
|
1536 |
echo "<td align=\"right\">" . $strip . "</td></tr>\r\n";
|
1537 |
}
|
1538 |
if (!empty($subscribers)) {
|
1586 |
}
|
1587 |
}
|
1588 |
if (!empty($subscribers)) {
|
1589 |
+
echo "<tr><td colspan=\"3\" align=\"center\"><input type=\"submit\" class=\"button-secondary\" name=\"process\" value=\"" . __('Process', 'subscribe2') . "\" /></td>\r\n";
|
1590 |
echo "<td align=\"right\">" . $strip . "</td></tr>\r\n";
|
1591 |
}
|
1592 |
echo "</table>\r\n";
|
1602 |
echo "<label><input type=\"radio\" name=\"manage\" value=\"unsubscribe\" />" . __('Unsubscribe', 'subscribe2') . "</label><br /><br />\r\n";
|
1603 |
echo "<input type=\"hidden\" name=\"emails\" value=\"$emails\" />\r\n";
|
1604 |
$this->display_category_form();
|
1605 |
+
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"register\" value=\"" . __('Submit', 'subscribe2') . "\" /></p>";
|
1606 |
echo "</form></div>\r\n";
|
1607 |
|
1608 |
include(ABSPATH . 'wp-admin/admin-footer.php');
|
1622 |
if ($_POST['reset']) {
|
1623 |
$this->reset();
|
1624 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_reset</strong></p></div>";
|
1625 |
+
} elseif ($_POST['preview']) {
|
1626 |
+
global $user_email;
|
1627 |
+
$post = get_posts('numberposts=1');
|
1628 |
+
$this->publish($post[0], $user_email);
|
1629 |
} elseif ($_POST['submit']) {
|
1630 |
// BCClimit
|
1631 |
if ( (is_numeric($_POST['bcc'])) && ($_POST['bcc'] >= 0) ) {
|
1736 |
$this->subscribe2_options['autoformat'] = $_POST['autoformat'];
|
1737 |
$this->subscribe2_options['show_autosub'] = $_POST['show_autosub'];
|
1738 |
$this->subscribe2_options['autosub_def'] = $_POST['autosub_def'];
|
1739 |
+
|
1740 |
//barred domains
|
1741 |
$this->subscribe2_options['barred'] = $_POST['barred'];
|
1742 |
|
1799 |
echo " checked=\"checked\"";
|
1800 |
}
|
1801 |
echo " /> " . __('No', 'subscribe2') . "</label><br /><br />\r\n";
|
1802 |
+
|
1803 |
echo __('Send Emails for Pages', 'subscribe2') . ': ';
|
1804 |
echo "<label><input type=\"radio\" name=\"pages\" value=\"yes\"";
|
1805 |
if ('yes' == $this->subscribe2_options['pages']) {
|
1835 |
echo " /> " . __('No', 'subscribe2') . "</label><br /><br />\r\n";
|
1836 |
echo __('Send Email From', 'subscribe2') . ': ';
|
1837 |
echo "<label>\r\n";
|
1838 |
+
$this->admin_dropdown(true);
|
1839 |
echo "</label><br /><br />\r\n";
|
1840 |
if (function_exists('wp_schedule_event')) {
|
1841 |
echo __('Send Emails', 'subscribe2') . ": <br /><br />\r\n";
|
1853 |
echo "<br />\r\n";
|
1854 |
echo "<textarea rows=\"9\" cols=\"60\" name=\"mailtext\">" . stripslashes($this->subscribe2_options['mailtext']) . "</textarea><br /><br />\r\n";
|
1855 |
echo "</td><td valign=\"top\" rowspan=\"3\">";
|
1856 |
+
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-secondary\" name=\"preview\" value=\"" . __('Send Email Preview', 'subscribe2') . "\" /></p>\r\n";
|
1857 |
echo "<h3>" . __('Message substitions', 'subscribe2') . "</h3>\r\n";
|
1858 |
echo "<dl>";
|
1859 |
echo "<dt><b>BLOGNAME</b></dt><dd>" . get_bloginfo('name') . "</dd>\r\n";
|
1869 |
echo "<dt><b>AUTHORNAME</b></dt><dd>" . __("the post author's name", 'subscribe2') . "</dd>\r\n";
|
1870 |
echo "<dt><b>LINK</b></dt><dd>" . __("the generated link to confirm a request<br />(<i>only used in the confirmation email template</i>)", 'subscribe2') . "</dd>\r\n";
|
1871 |
echo "<dt><b>ACTION</b></dt><dd>" . __("Action performed by LINK in confirmation email<br />(<i>only used in the confirmation email template</i>)", 'subscribe2') . "</dd>\r\n";
|
1872 |
+
echo "<dt><b>CATS</b></dt><dd>" . __("the post's assigned categories", 'subscribe2') . "</dd>\r\n";
|
1873 |
+
echo "<dt><b>TAGS</b></dt><dd>" . __("the post's assigned Tags", 'subscribe2') . "</dd>\r\n";
|
1874 |
echo "</dl></td></tr><tr><td>";
|
1875 |
echo __('Subscribe / Unsubscribe confirmation email', 'subscribe2') . ":<br />\r\n";
|
1876 |
echo __('Subject Line', 'subscribe2') . ": ";
|
1894 |
echo " checked=\"checked\"";
|
1895 |
}
|
1896 |
echo " /> " . __('Allow registered users to subscribe to excluded categories?', 'subscribe2') . "</label></center><br />\r\n";
|
1897 |
+
|
1898 |
// Appearance options
|
1899 |
echo "<h2>" . __('Appearance', 'subscribe2') . "</h2>\r\n";
|
1900 |
echo"<p>";
|
1901 |
+
|
1902 |
// WordPress page ID where subscribe2 token is used
|
1903 |
echo __('Set default Subscribe2 page as ID', 'subscribe2') . ': ';
|
1904 |
echo "<span id=\"s2page_1\"><span id=\"s2page\" style=\"background-color: #FFFBCC\">" . $this->subscribe2_options['s2page'] . "</span> ";
|
1996 |
echo "checked=\"checked\" ";
|
1997 |
}
|
1998 |
echo "/> " . __('Plain Text - Excerpt', 'subscribe2') . "</label><br /><br />";
|
1999 |
+
echo __('Registered Users have the option to auto-subscribe to new categories', 'subscribe2') . ": <br />\r\n";
|
2000 |
echo "<label><input type=\"radio\" name=\"show_autosub\" value=\"yes\"";
|
2001 |
if ('yes' == $this->subscribe2_options['show_autosub']) {
|
2002 |
echo " checked=\"checked\"";
|
2006 |
if ('no' == $this->subscribe2_options['show_autosub']) {
|
2007 |
echo " checked=\"checked\"";
|
2008 |
}
|
2009 |
+
echo " />" . __('No', 'subscribe2') . "</label> ";
|
2010 |
+
echo "<label><input type=\"radio\" name=\"show_autosub\" value=\"exclude\"";
|
2011 |
+
if ('exclude' == $this->subscribe2_options['show_autosub']) {
|
2012 |
+
echo " checked=\"checked\"";
|
2013 |
+
}
|
2014 |
+
echo " />" .__('New categories are immediately excluded', 'subscribe2') . "</label><br /><br />";
|
2015 |
+
echo __('Option for Registered Users to auto-subscribe to new categories is checked by default', 'subscribe2') . ": <br />\r\n";
|
2016 |
echo "<label><input type=\"radio\" name=\"autosub_def\" value=\"yes\"";
|
2017 |
if ('yes' == $this->subscribe2_options['autosub_def']) {
|
2018 |
echo " checked=\"checked\"";
|
2033 |
echo"</p>";
|
2034 |
|
2035 |
// submit
|
2036 |
+
echo "<p class=\"submit\" align=\"center\"><input type=\"submit\" class=\"button-primary\" name=\"submit\" value=\"" . __('Submit', 'subscribe2') . "\" /></p>";
|
2037 |
|
2038 |
// reset
|
2039 |
echo "<h2>" . __('Reset Default', 'subscribe2') . "</h2>\r\n";
|
2205 |
}
|
2206 |
|
2207 |
// submit
|
2208 |
+
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"submit\" value=\"" . __("Update Preferences", 'subscribe2') . " »\" /></p>";
|
2209 |
echo "</form>\r\n";
|
2210 |
+
|
|
|
2211 |
// list of subscribed blogs on wordpress mu
|
2212 |
if ($this->s2_mu) {
|
2213 |
global $blog_id;
|
2216 |
$blogs_subscribed = array();
|
2217 |
$blogs_notsubscribed = array();
|
2218 |
|
2219 |
+
foreach ($blogs as $key => $blog) {
|
2220 |
// switch to blog
|
2221 |
switch_to_blog($blog['blog_id']);
|
2222 |
|
2372 |
$this->display_subscriber_dropdown('registered', false, array('all'));
|
2373 |
echo "<input type=\"hidden\" name=\"s2_admin\" value=\"mail\" />";
|
2374 |
echo "</p>";
|
2375 |
+
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"submit\" value=\"" . __('Send', 'subscribe2') . "\" /></p>";
|
2376 |
echo "</form></div>\r\n";
|
2377 |
echo "<div style=\"clear: both;\"><p> </p></div>";
|
2378 |
|
2402 |
}
|
2403 |
}
|
2404 |
}
|
2405 |
+
|
2406 |
$half = (count($all_cats) / 2);
|
2407 |
$i = 0;
|
2408 |
$j = 0;
|
2510 |
}
|
2511 |
echo "</select>";
|
2512 |
if (false !== $submit) {
|
2513 |
+
echo " <input type=\"submit\" class=\"button-secondary\" value=\"$submit\" />\r\n";
|
2514 |
}
|
2515 |
} // end display_subscriber_dropdown()
|
2516 |
|
2518 |
Display a drop down lisy of administrator level users and
|
2519 |
optionally include a choice for Post Author
|
2520 |
*/
|
2521 |
+
function admin_dropdown($inc_author = false) {
|
2522 |
global $wpdb;
|
2523 |
|
2524 |
+
$sql = "SELECT ID,display_name FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value IN (8, 9, 10)";
|
2525 |
$admins = $wpdb->get_results($sql);
|
2526 |
+
|
|
|
2527 |
if ($inc_author) {
|
2528 |
$author[] = (object)array('ID' => 'author', 'display_name' => 'Post Author');
|
2529 |
$admins = array_merge($author, $admins);
|
2640 |
*/
|
2641 |
function register_post() {
|
2642 |
if ('on' == $_POST['subscribe']) {
|
2643 |
+
$user = get_userdatabylogin($_POST['user_login']);
|
2644 |
+
if (0 == $user->ID) { return; }
|
2645 |
+
$this->register($user->ID);
|
2646 |
}
|
2647 |
}
|
2648 |
|
2690 |
Meta box form handler
|
2691 |
*/
|
2692 |
function s2_meta_handler($post_id) {
|
2693 |
+
if ( (!isset($_POST['s2meta_nonce'])) || (!wp_verify_nonce($_POST['s2meta_nonce'], md5(plugin_basename(__FILE__)))) ) { return $post_id; }
|
2694 |
|
2695 |
if ('page' == $_POST['post_type']) {
|
2696 |
if (!current_user_can('edit_page', $post_id)) { return $post_id; }
|
2698 |
if (!current_user_can('edit_post', $post_id)) { return $post_id; }
|
2699 |
}
|
2700 |
|
2701 |
+
if ( (isset($_POST['s2_meta_field'])) && ($_POST['s2_meta_field'] == 'no') ) {
|
2702 |
update_post_meta($post_id, 's2mail', $_POST['s2_meta_field']);
|
2703 |
} else {
|
2704 |
delete_post_meta($post_id, 's2mail');
|
2938 |
$arr['subscribe2'] = $path;
|
2939 |
return $arr;
|
2940 |
}
|
2941 |
+
|
2942 |
function mce3_button($arr) {
|
2943 |
$arr[] = 'subscribe2';
|
2944 |
return $arr;
|
3148 |
add_filter('the_title', array(&$this, 'title_filter'));
|
3149 |
add_filter('the_content', array(&$this, 'confirm'));
|
3150 |
}
|
3151 |
+
|
3152 |
if ( (isset($_POST['s2_admin'])) && ($_POST['csv']) ) {
|
3153 |
$date = date('Y-m-d');
|
3154 |
header("Content-Description: File Transfer");
|
3160 |
|
3161 |
exit(0);
|
3162 |
}
|
3163 |
+
|
3164 |
//add regular actions and filters
|
3165 |
add_action('admin_menu', array(&$this, 'admin_menu'));
|
3166 |
add_action('admin_menu', array(&$this, 's2_meta_init'));
|
3167 |
add_action('save_post', array(&$this, 's2_meta_handler'));
|
3168 |
+
add_action('create_category', array(&$this, 'new_category'));
|
3169 |
add_action('delete_category', array(&$this, 'delete_category'));
|
3170 |
add_filter('the_content', array(&$this, 'filter'), 10);
|
3171 |
add_filter('cron_schedules', array(&$this, 'add_weekly_sched'));
|
3186 |
add_action('register_form', array(&$this, 'register_form'));
|
3187 |
add_action('user_register', array(&$this, 'register'));
|
3188 |
add_action('add_user_to_blog', array(&$this, 'register'), 10, 1);
|
3189 |
+
|
3190 |
+
if ( ($this->s2_mu) && ((isset($_GET['s2mu_subscribe'])) || (isset($_GET['s2mu_unsubscribe']))) ) {
|
3191 |
add_action('admin_init', array(&$this, 'wpmu_subscribe'));
|
3192 |
}
|
3193 |
|
subscribe2.pot
CHANGED
@@ -8,7 +8,7 @@ msgid ""
|
|
8 |
msgstr ""
|
9 |
"Project-Id-Version: PACKAGE VERSION\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2009-
|
12 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
@@ -76,13 +76,13 @@ msgstr ""
|
|
76 |
msgid "Enter email address..."
|
77 |
msgstr ""
|
78 |
|
79 |
-
#: subscribe2.php:85 subscribe2.php:
|
80 |
-
#: subscribe2.php:
|
81 |
msgid "Subscribe"
|
82 |
msgstr ""
|
83 |
|
84 |
-
#: subscribe2.php:85 subscribe2.php:
|
85 |
-
#: subscribe2.php:
|
86 |
msgid "Unsubscribe"
|
87 |
msgstr ""
|
88 |
|
@@ -122,11 +122,11 @@ msgstr ""
|
|
122 |
msgid "Subscribe2 Options"
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: subscribe2.php:111 subscribe2.php:
|
126 |
msgid "Subscribe2"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: subscribe2.php:116 subscribe2.php:
|
130 |
msgid "Subscriptions"
|
131 |
msgstr ""
|
132 |
|
@@ -134,605 +134,621 @@ msgstr ""
|
|
134 |
msgid "Mail Subscribers"
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: subscribe2.php:
|
138 |
msgid "New subscription"
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: subscribe2.php:
|
142 |
msgid "subscribed to email notifications!"
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: subscribe2.php:
|
146 |
msgid "New Unsubscription"
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: subscribe2.php:
|
150 |
msgid "unsubscribed from email notifications!"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: subscribe2.php:
|
154 |
msgid "Address(es) subscribed!"
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: subscribe2.php:
|
158 |
msgid "Address(es) unsubscribed!"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: subscribe2.php:
|
162 |
msgid "Address(es) deleted!"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: subscribe2.php:
|
166 |
msgid "Status changed!"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: subscribe2.php:
|
170 |
msgid "Reminder Email(s) Sent!"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: subscribe2.php:
|
174 |
msgid "Registered Users Subscribed!"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: subscribe2.php:
|
178 |
msgid "Registered Users Unsubscribed!"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: subscribe2.php:
|
182 |
msgid "Previous Page"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: subscribe2.php:
|
186 |
msgid "Next Page"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: subscribe2.php:
|
190 |
msgid "Manage Subscribers"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: subscribe2.php:
|
194 |
msgid "Add/Remove Subscribers"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: subscribe2.php:
|
198 |
msgid "Enter addresses, one per line or comma-separated"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: subscribe2.php:
|
202 |
msgid "Current Subscribers"
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: subscribe2.php:
|
206 |
msgid "Filter"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: subscribe2.php:
|
210 |
msgid "Search Subscribers"
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: subscribe2.php:
|
214 |
msgid "Send Reminder Email"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: subscribe2.php:
|
218 |
msgid "Save Emails to CSV File"
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: subscribe2.php:
|
222 |
msgid "Process"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: subscribe2.php:
|
226 |
msgid "Confirm this email address"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: subscribe2.php:
|
230 |
msgid "Unconfirm this email address"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: subscribe2.php:
|
234 |
msgid "Delete this email address"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: subscribe2.php:
|
238 |
msgid "Select / Unselect All"
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: subscribe2.php:
|
242 |
msgid "edit"
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: subscribe2.php:
|
246 |
msgid "No matching subscribers found"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: subscribe2.php:
|
250 |
msgid "NONE"
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: subscribe2.php:
|
254 |
msgid "Categories"
|
255 |
msgstr ""
|
256 |
|
257 |
-
#: subscribe2.php:
|
258 |
msgid ""
|
259 |
"Existing Registered Users can be automatically (un)subscribed to categories "
|
260 |
"using this section."
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: subscribe2.php:
|
264 |
msgid "Consider User Privacy as changes cannot be undone"
|
265 |
msgstr ""
|
266 |
|
267 |
-
#: subscribe2.php:
|
268 |
msgid "Action to perform"
|
269 |
msgstr ""
|
270 |
|
271 |
-
#: subscribe2.php:
|
272 |
msgid "Submit"
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: subscribe2.php:
|
276 |
msgid "Subscribe2 Settings"
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: subscribe2.php:
|
280 |
msgid "Notification Settings"
|
281 |
msgstr ""
|
282 |
|
283 |
-
#: subscribe2.php:
|
284 |
msgid "Restrict the number of recipients per email to (0 for unlimited)"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: subscribe2.php:
|
288 |
msgid "Edit"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: subscribe2.php:
|
292 |
msgid "Update"
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: subscribe2.php:
|
296 |
msgid "Revert"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: subscribe2.php:
|
300 |
msgid "Send Admins notifications for new"
|
301 |
msgstr ""
|
302 |
|
303 |
-
#: subscribe2.php:
|
304 |
msgid "Unsubscriptions"
|
305 |
msgstr ""
|
306 |
|
307 |
-
#: subscribe2.php:
|
308 |
msgid "Both"
|
309 |
msgstr ""
|
310 |
|
311 |
-
#: subscribe2.php:
|
312 |
msgid "Neither"
|
313 |
msgstr ""
|
314 |
|
315 |
-
#: subscribe2.php:
|
316 |
msgid "Include theme CSS stylesheet in HTML notifications"
|
317 |
msgstr ""
|
318 |
|
319 |
-
#: subscribe2.php:
|
320 |
-
#: subscribe2.php:
|
321 |
-
#: subscribe2.php:
|
322 |
-
#: subscribe2.php:
|
323 |
msgid "Yes"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: subscribe2.php:
|
327 |
-
#: subscribe2.php:
|
328 |
-
#: subscribe2.php:
|
329 |
-
#: subscribe2.php:
|
330 |
msgid "No"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: subscribe2.php:
|
334 |
msgid "Send Emails for Pages"
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: subscribe2.php:
|
338 |
msgid "Send Emails for Password Protected Posts"
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: subscribe2.php:
|
342 |
msgid "Send Emails for Private Posts"
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: subscribe2.php:
|
346 |
msgid "Send Email From"
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: subscribe2.php:
|
350 |
msgid "Send Emails"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: subscribe2.php:
|
354 |
msgid "Email Templates"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: subscribe2.php:
|
358 |
msgid "New Post email (must not be empty)"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: subscribe2.php:
|
362 |
msgid "Subject Line"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: subscribe2.php:
|
|
|
|
|
|
|
|
|
366 |
msgid "Message substitions"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: subscribe2.php:
|
370 |
msgid "the post's title<br />(<i>for per-post emails only</i>)"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: subscribe2.php:
|
374 |
msgid ""
|
375 |
"the excerpt or the entire post<br />(<i>based on the subscriber's "
|
376 |
"preferences</i>)"
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: subscribe2.php:
|
380 |
msgid ""
|
381 |
"the excerpt of the post and the time it was posted<br />(<i>for digest "
|
382 |
"emails only</i>)"
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: subscribe2.php:
|
386 |
msgid "a list of post titles<br />(<i>for digest emails only</i>)"
|
387 |
msgstr ""
|
388 |
|
389 |
-
#: subscribe2.php:
|
390 |
msgid "the post's permalink<br />(<i>for per-post emails only</i>)"
|
391 |
msgstr ""
|
392 |
|
393 |
-
#: subscribe2.php:
|
394 |
msgid ""
|
395 |
"the post's permalink after conversion by TinyURL<br />(<i>for per-post "
|
396 |
"emails only</i>)"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: subscribe2.php:
|
400 |
msgid "the admin or post author's name"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: subscribe2.php:
|
404 |
msgid "the admin or post author's email"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: subscribe2.php:
|
408 |
msgid "the post author's name"
|
409 |
msgstr ""
|
410 |
|
411 |
-
#: subscribe2.php:
|
412 |
msgid ""
|
413 |
"the generated link to confirm a request<br />(<i>only used in the "
|
414 |
"confirmation email template</i>)"
|
415 |
msgstr ""
|
416 |
|
417 |
-
#: subscribe2.php:
|
418 |
msgid ""
|
419 |
"Action performed by LINK in confirmation email<br />(<i>only used in the "
|
420 |
"confirmation email template</i>)"
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: subscribe2.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
424 |
msgid "Subscribe / Unsubscribe confirmation email"
|
425 |
msgstr ""
|
426 |
|
427 |
-
#: subscribe2.php:
|
428 |
msgid "Reminder email to Unconfirmed Subscribers"
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: subscribe2.php:
|
432 |
msgid "Excluded Categories"
|
433 |
msgstr ""
|
434 |
|
435 |
-
#: subscribe2.php:
|
436 |
msgid ""
|
437 |
"Posts assigned to any Excluded Category do not generate notifications and "
|
438 |
"are not included in digest notifications"
|
439 |
msgstr ""
|
440 |
|
441 |
-
#: subscribe2.php:
|
442 |
msgid "Allow registered users to subscribe to excluded categories?"
|
443 |
msgstr ""
|
444 |
|
445 |
-
#: subscribe2.php:
|
446 |
msgid "Appearance"
|
447 |
msgstr ""
|
448 |
|
449 |
-
#: subscribe2.php:
|
450 |
msgid "Set default Subscribe2 page as ID"
|
451 |
msgstr ""
|
452 |
|
453 |
-
#: subscribe2.php:
|
454 |
msgid "Set the number of Subscribers displayed per page"
|
455 |
msgstr ""
|
456 |
|
457 |
-
#: subscribe2.php:
|
458 |
msgid "Show a link to your subscription page in \"meta\"?"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: subscribe2.php:
|
462 |
msgid "Show the Subscribe2 button on the Write toolbar?"
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: subscribe2.php:
|
466 |
msgid "Enable Subscribe2 Widget?"
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: subscribe2.php:
|
470 |
msgid "Auto Subscribe"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: subscribe2.php:
|
474 |
msgid "Subscribe new users registering with your blog"
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: subscribe2.php:
|
478 |
msgid "Automatically"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: subscribe2.php:
|
482 |
msgid "Display option on Registration Form"
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: subscribe2.php:
|
486 |
msgid "Auto-subscribe includes any excluded categories"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: subscribe2.php:
|
490 |
msgid "Registration Form option is checked by default"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: subscribe2.php:
|
494 |
msgid "Auto-subscribe users to receive email as"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: subscribe2.php:
|
498 |
msgid "HTML"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: subscribe2.php:
|
502 |
msgid "Plain Text - Full"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: subscribe2.php:
|
506 |
msgid "Plain Text - Excerpt"
|
507 |
msgstr ""
|
508 |
|
509 |
-
#: subscribe2.php:
|
510 |
-
msgid "
|
511 |
msgstr ""
|
512 |
|
513 |
-
#: subscribe2.php:
|
|
|
|
|
|
|
|
|
514 |
msgid ""
|
515 |
-
"Option for
|
516 |
-
"default"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: subscribe2.php:
|
520 |
msgid "Barred Domains"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: subscribe2.php:
|
524 |
msgid ""
|
525 |
"Enter domains to bar from public subscriptions: <br /> (Use a new line for "
|
526 |
"each entry and omit the \"@\" symbol, for example email.com)"
|
527 |
msgstr ""
|
528 |
|
529 |
-
#: subscribe2.php:
|
530 |
msgid "Reset Default"
|
531 |
msgstr ""
|
532 |
|
533 |
-
#: subscribe2.php:
|
534 |
msgid ""
|
535 |
"Use this to reset all options to their defaults. This <strong><em>will not</"
|
536 |
"em></strong> modify your list of subscribers."
|
537 |
msgstr ""
|
538 |
|
539 |
-
#: subscribe2.php:
|
540 |
msgid "RESET"
|
541 |
msgstr ""
|
542 |
|
543 |
-
#: subscribe2.php:
|
544 |
msgid "Subscription preferences updated."
|
545 |
msgstr ""
|
546 |
|
547 |
-
#: subscribe2.php:
|
548 |
msgid "Editing Subscribe2 preferences for user"
|
549 |
msgstr ""
|
550 |
|
551 |
-
#: subscribe2.php:
|
552 |
msgid "Receive email as"
|
553 |
msgstr ""
|
554 |
|
555 |
-
#: subscribe2.php:
|
556 |
msgid "Plain Text"
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: subscribe2.php:
|
560 |
msgid "Email contains"
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: subscribe2.php:
|
564 |
msgid "Excerpt Only"
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: subscribe2.php:
|
568 |
msgid "Full Post"
|
569 |
msgstr ""
|
570 |
|
571 |
-
#: subscribe2.php:
|
572 |
msgid "Note: HTML format will always deliver the full post"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: subscribe2.php:
|
576 |
msgid "Automatically subscribe me to newly created categories"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: subscribe2.php:
|
580 |
msgid "Unsubscribe me from this blog"
|
581 |
msgstr ""
|
582 |
|
583 |
-
#: subscribe2.php:
|
584 |
msgid "Subscribe to all categories"
|
585 |
msgstr ""
|
586 |
|
587 |
-
#: subscribe2.php:
|
588 |
msgid "Subscribed Categories on"
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: subscribe2.php:
|
592 |
msgid "Subscribed Categories"
|
593 |
msgstr ""
|
594 |
|
595 |
-
#: subscribe2.php:
|
596 |
msgid "Receive periodic summaries of new posts?"
|
597 |
msgstr ""
|
598 |
|
599 |
-
#: subscribe2.php:
|
600 |
msgid "Update Preferences"
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: subscribe2.php:
|
604 |
msgid "Subscribed Blogs"
|
605 |
msgstr ""
|
606 |
|
607 |
-
#: subscribe2.php:
|
608 |
msgid "Viewing Settings Now"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: subscribe2.php:
|
612 |
msgid "View Settings"
|
613 |
msgstr ""
|
614 |
|
615 |
-
#: subscribe2.php:
|
616 |
msgid "Subscribe to new blogs"
|
617 |
msgstr ""
|
618 |
|
619 |
-
#: subscribe2.php:
|
620 |
msgid "Send an email to subscribers"
|
621 |
msgstr ""
|
622 |
|
623 |
-
#: subscribe2.php:
|
624 |
msgid "A message from "
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: subscribe2.php:
|
628 |
msgid "Subject"
|
629 |
msgstr ""
|
630 |
|
631 |
-
#: subscribe2.php:
|
632 |
msgid "Recipients: "
|
633 |
msgstr ""
|
634 |
|
635 |
-
#: subscribe2.php:
|
636 |
msgid "Send"
|
637 |
msgstr ""
|
638 |
|
639 |
-
#: subscribe2.php:
|
640 |
msgid "All Users and Subscribers"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: subscribe2.php:
|
644 |
msgid "Public Subscribers"
|
645 |
msgstr ""
|
646 |
|
647 |
-
#: subscribe2.php:
|
648 |
msgid "Confirmed"
|
649 |
msgstr ""
|
650 |
|
651 |
-
#: subscribe2.php:
|
652 |
msgid "Unconfirmed"
|
653 |
msgstr ""
|
654 |
|
655 |
-
#: subscribe2.php:
|
656 |
msgid "All Registered Users"
|
657 |
msgstr ""
|
658 |
|
659 |
-
#: subscribe2.php:
|
660 |
msgid "Registered Subscribers"
|
661 |
msgstr ""
|
662 |
|
663 |
-
#: subscribe2.php:
|
664 |
msgid "For each Post"
|
665 |
msgstr ""
|
666 |
|
667 |
-
#: subscribe2.php:
|
668 |
msgid "Send Digest Notification at"
|
669 |
msgstr ""
|
670 |
|
671 |
-
#: subscribe2.php:
|
672 |
msgid ""
|
673 |
"This option will work for digest notification sent daily or less frequently"
|
674 |
msgstr ""
|
675 |
|
676 |
-
#: subscribe2.php:
|
677 |
msgid "Current UTC time is"
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: subscribe2.php:
|
681 |
msgid "Current blog time is"
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: subscribe2.php:
|
685 |
msgid "Next email notification will be sent when your blog time is after"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: subscribe2.php:
|
689 |
msgid "Settings"
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: subscribe2.php:
|
693 |
msgid "Check here to Subscribe to email notifications for new posts"
|
694 |
msgstr ""
|
695 |
|
696 |
-
#: subscribe2.php:
|
697 |
msgid ""
|
698 |
"By registering with this blog you are also agreeing to receive email "
|
699 |
"notifications for new posts but you can unsubscribe at anytime"
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: subscribe2.php:
|
703 |
msgid "Subscribe2 Notification Override"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: subscribe2.php:
|
707 |
msgid ""
|
708 |
"Check here to disable sending of an email notification for this post/page"
|
709 |
msgstr ""
|
710 |
|
711 |
-
#: subscribe2.php:
|
712 |
msgid "Subscription Confirmation"
|
713 |
msgstr ""
|
714 |
|
715 |
-
#: subscribe2.php:
|
716 |
msgid "Title:"
|
717 |
msgstr ""
|
718 |
|
719 |
-
#: subscribe2.php:
|
720 |
msgid "Div class name:"
|
721 |
msgstr ""
|
722 |
|
723 |
-
#: subscribe2.php:
|
724 |
msgid "[Un]Subscribe to Posts"
|
725 |
msgstr ""
|
726 |
|
727 |
-
#: subscribe2.php:
|
728 |
msgid "Weekly"
|
729 |
msgstr ""
|
730 |
|
731 |
-
#: subscribe2.php:
|
732 |
msgid "Posted on"
|
733 |
msgstr ""
|
734 |
|
735 |
-
#: subscribe2.php:
|
736 |
msgid "Digest Email"
|
737 |
msgstr ""
|
738 |
|
8 |
msgstr ""
|
9 |
"Project-Id-Version: PACKAGE VERSION\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2009-07-02 19:52+0100\n"
|
12 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
76 |
msgid "Enter email address..."
|
77 |
msgstr ""
|
78 |
|
79 |
+
#: subscribe2.php:85 subscribe2.php:1508 subscribe2.php:1601
|
80 |
+
#: subscribe2.php:2298
|
81 |
msgid "Subscribe"
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: subscribe2.php:85 subscribe2.php:1509 subscribe2.php:1602
|
85 |
+
#: subscribe2.php:2277
|
86 |
msgid "Unsubscribe"
|
87 |
msgstr ""
|
88 |
|
122 |
msgid "Subscribe2 Options"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: subscribe2.php:111 subscribe2.php:2825 subscribe2.php:2929
|
126 |
msgid "Subscribe2"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: subscribe2.php:116 subscribe2.php:1774
|
130 |
msgid "Subscriptions"
|
131 |
msgstr ""
|
132 |
|
134 |
msgid "Mail Subscribers"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: subscribe2.php:792
|
138 |
msgid "New subscription"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: subscribe2.php:793
|
142 |
msgid "subscribed to email notifications!"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: subscribe2.php:808
|
146 |
msgid "New Unsubscription"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: subscribe2.php:809
|
150 |
msgid "unsubscribed from email notifications!"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: subscribe2.php:1333
|
154 |
msgid "Address(es) subscribed!"
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: subscribe2.php:1336
|
158 |
msgid "Address(es) unsubscribed!"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: subscribe2.php:1346
|
162 |
msgid "Address(es) deleted!"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: subscribe2.php:1352 subscribe2.php:1358
|
166 |
msgid "Status changed!"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: subscribe2.php:1372
|
170 |
msgid "Reminder Email(s) Sent!"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: subscribe2.php:1375
|
174 |
msgid "Registered Users Subscribed!"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: subscribe2.php:1378
|
178 |
msgid "Registered Users Unsubscribed!"
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: subscribe2.php:1473
|
182 |
msgid "Previous Page"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: subscribe2.php:1493
|
186 |
msgid "Next Page"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: subscribe2.php:1499
|
190 |
msgid "Manage Subscribers"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: subscribe2.php:1504
|
194 |
msgid "Add/Remove Subscribers"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: subscribe2.php:1505
|
198 |
msgid "Enter addresses, one per line or comma-separated"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: subscribe2.php:1512
|
202 |
msgid "Current Subscribers"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: subscribe2.php:1514
|
206 |
msgid "Filter"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: subscribe2.php:1521
|
210 |
msgid "Search Subscribers"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: subscribe2.php:1524
|
214 |
msgid "Send Reminder Email"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: subscribe2.php:1529
|
218 |
msgid "Save Emails to CSV File"
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: subscribe2.php:1535 subscribe2.php:1589
|
222 |
msgid "Process"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: subscribe2.php:1544 subscribe2.php:1566
|
226 |
msgid "Confirm this email address"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: subscribe2.php:1546 subscribe2.php:1559
|
230 |
msgid "Unconfirm this email address"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: subscribe2.php:1548 subscribe2.php:1561 subscribe2.php:1569
|
234 |
msgid "Delete this email address"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: subscribe2.php:1552 subscribe2.php:2434
|
238 |
msgid "Select / Unselect All"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: subscribe2.php:1576
|
242 |
msgid "edit"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: subscribe2.php:1583
|
246 |
msgid "No matching subscribers found"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: subscribe2.php:1585
|
250 |
msgid "NONE"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: subscribe2.php:1595
|
254 |
msgid "Categories"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: subscribe2.php:1597
|
258 |
msgid ""
|
259 |
"Existing Registered Users can be automatically (un)subscribed to categories "
|
260 |
"using this section."
|
261 |
msgstr ""
|
262 |
|
263 |
+
#: subscribe2.php:1598
|
264 |
msgid "Consider User Privacy as changes cannot be undone"
|
265 |
msgstr ""
|
266 |
|
267 |
+
#: subscribe2.php:1600
|
268 |
msgid "Action to perform"
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: subscribe2.php:1605 subscribe2.php:2036
|
272 |
msgid "Submit"
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: subscribe2.php:1749
|
276 |
msgid "Subscribe2 Settings"
|
277 |
msgstr ""
|
278 |
|
279 |
+
#: subscribe2.php:1760 subscribe2.php:2123
|
280 |
msgid "Notification Settings"
|
281 |
msgstr ""
|
282 |
|
283 |
+
#: subscribe2.php:1761
|
284 |
msgid "Restrict the number of recipients per email to (0 for unlimited)"
|
285 |
msgstr ""
|
286 |
|
287 |
+
#: subscribe2.php:1763 subscribe2.php:1905 subscribe2.php:1914
|
288 |
msgid "Edit"
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: subscribe2.php:1766 subscribe2.php:1908 subscribe2.php:1917
|
292 |
msgid "Update"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: subscribe2.php:1767 subscribe2.php:1909 subscribe2.php:1918
|
296 |
msgid "Revert"
|
297 |
msgstr ""
|
298 |
|
299 |
+
#: subscribe2.php:1769
|
300 |
msgid "Send Admins notifications for new"
|
301 |
msgstr ""
|
302 |
|
303 |
+
#: subscribe2.php:1779
|
304 |
msgid "Unsubscriptions"
|
305 |
msgstr ""
|
306 |
|
307 |
+
#: subscribe2.php:1784
|
308 |
msgid "Both"
|
309 |
msgstr ""
|
310 |
|
311 |
+
#: subscribe2.php:1789
|
312 |
msgid "Neither"
|
313 |
msgstr ""
|
314 |
|
315 |
+
#: subscribe2.php:1791
|
316 |
msgid "Include theme CSS stylesheet in HTML notifications"
|
317 |
msgstr ""
|
318 |
|
319 |
+
#: subscribe2.php:1796 subscribe2.php:1808 subscribe2.php:1819
|
320 |
+
#: subscribe2.php:1830 subscribe2.php:1966 subscribe2.php:1977
|
321 |
+
#: subscribe2.php:2004 subscribe2.php:2020 subscribe2.php:2163
|
322 |
+
#: subscribe2.php:2199
|
323 |
msgid "Yes"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: subscribe2.php:1801 subscribe2.php:1813 subscribe2.php:1824
|
327 |
+
#: subscribe2.php:1835 subscribe2.php:1960 subscribe2.php:1971
|
328 |
+
#: subscribe2.php:1982 subscribe2.php:2009 subscribe2.php:2025
|
329 |
+
#: subscribe2.php:2168 subscribe2.php:2203
|
330 |
msgid "No"
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: subscribe2.php:1803
|
334 |
msgid "Send Emails for Pages"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: subscribe2.php:1814
|
338 |
msgid "Send Emails for Password Protected Posts"
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: subscribe2.php:1825
|
342 |
msgid "Send Emails for Private Posts"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: subscribe2.php:1836
|
346 |
msgid "Send Email From"
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: subscribe2.php:1841
|
350 |
msgid "Send Emails"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: subscribe2.php:1846
|
354 |
msgid "Email Templates"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: subscribe2.php:1850
|
358 |
msgid "New Post email (must not be empty)"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: subscribe2.php:1851 subscribe2.php:1876 subscribe2.php:1881
|
362 |
msgid "Subject Line"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: subscribe2.php:1856
|
366 |
+
msgid "Send Email Preview"
|
367 |
+
msgstr ""
|
368 |
+
|
369 |
+
#: subscribe2.php:1857
|
370 |
msgid "Message substitions"
|
371 |
msgstr ""
|
372 |
|
373 |
+
#: subscribe2.php:1861
|
374 |
msgid "the post's title<br />(<i>for per-post emails only</i>)"
|
375 |
msgstr ""
|
376 |
|
377 |
+
#: subscribe2.php:1862
|
378 |
msgid ""
|
379 |
"the excerpt or the entire post<br />(<i>based on the subscriber's "
|
380 |
"preferences</i>)"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: subscribe2.php:1863
|
384 |
msgid ""
|
385 |
"the excerpt of the post and the time it was posted<br />(<i>for digest "
|
386 |
"emails only</i>)"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: subscribe2.php:1864
|
390 |
msgid "a list of post titles<br />(<i>for digest emails only</i>)"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: subscribe2.php:1865
|
394 |
msgid "the post's permalink<br />(<i>for per-post emails only</i>)"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: subscribe2.php:1866
|
398 |
msgid ""
|
399 |
"the post's permalink after conversion by TinyURL<br />(<i>for per-post "
|
400 |
"emails only</i>)"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: subscribe2.php:1867
|
404 |
msgid "the admin or post author's name"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: subscribe2.php:1868
|
408 |
msgid "the admin or post author's email"
|
409 |
msgstr ""
|
410 |
|
411 |
+
#: subscribe2.php:1869
|
412 |
msgid "the post author's name"
|
413 |
msgstr ""
|
414 |
|
415 |
+
#: subscribe2.php:1870
|
416 |
msgid ""
|
417 |
"the generated link to confirm a request<br />(<i>only used in the "
|
418 |
"confirmation email template</i>)"
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: subscribe2.php:1871
|
422 |
msgid ""
|
423 |
"Action performed by LINK in confirmation email<br />(<i>only used in the "
|
424 |
"confirmation email template</i>)"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: subscribe2.php:1872
|
428 |
+
msgid "the post's assigned categories"
|
429 |
+
msgstr ""
|
430 |
+
|
431 |
+
#: subscribe2.php:1873
|
432 |
+
msgid "the post's assigned Tags"
|
433 |
+
msgstr ""
|
434 |
+
|
435 |
+
#: subscribe2.php:1875
|
436 |
msgid "Subscribe / Unsubscribe confirmation email"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: subscribe2.php:1880
|
440 |
msgid "Reminder email to Unconfirmed Subscribers"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: subscribe2.php:1887
|
444 |
msgid "Excluded Categories"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: subscribe2.php:1889
|
448 |
msgid ""
|
449 |
"Posts assigned to any Excluded Category do not generate notifications and "
|
450 |
"are not included in digest notifications"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: subscribe2.php:1896
|
454 |
msgid "Allow registered users to subscribe to excluded categories?"
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: subscribe2.php:1899
|
458 |
msgid "Appearance"
|
459 |
msgstr ""
|
460 |
|
461 |
+
#: subscribe2.php:1903
|
462 |
msgid "Set default Subscribe2 page as ID"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: subscribe2.php:1912
|
466 |
msgid "Set the number of Subscribers displayed per page"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: subscribe2.php:1925
|
470 |
msgid "Show a link to your subscription page in \"meta\"?"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: subscribe2.php:1932
|
474 |
msgid "Show the Subscribe2 button on the Write toolbar?"
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: subscribe2.php:1939
|
478 |
msgid "Enable Subscribe2 Widget?"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: subscribe2.php:1943
|
482 |
msgid "Auto Subscribe"
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: subscribe2.php:1945
|
486 |
msgid "Subscribe new users registering with your blog"
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: subscribe2.php:1950
|
490 |
msgid "Automatically"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: subscribe2.php:1955
|
494 |
msgid "Display option on Registration Form"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: subscribe2.php:1961
|
498 |
msgid "Auto-subscribe includes any excluded categories"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: subscribe2.php:1972
|
502 |
msgid "Registration Form option is checked by default"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: subscribe2.php:1983
|
506 |
msgid "Auto-subscribe users to receive email as"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: subscribe2.php:1988 subscribe2.php:2140
|
510 |
msgid "HTML"
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: subscribe2.php:1993
|
514 |
msgid "Plain Text - Full"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: subscribe2.php:1998
|
518 |
msgid "Plain Text - Excerpt"
|
519 |
msgstr ""
|
520 |
|
521 |
+
#: subscribe2.php:1999
|
522 |
+
msgid "Registered Users have the option to auto-subscribe to new categories"
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: subscribe2.php:2014
|
526 |
+
msgid "New categories are immediately excluded"
|
527 |
+
msgstr ""
|
528 |
+
|
529 |
+
#: subscribe2.php:2015
|
530 |
msgid ""
|
531 |
+
"Option for Registered Users to auto-subscribe to new categories is checked "
|
532 |
+
"by default"
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: subscribe2.php:2029
|
536 |
msgid "Barred Domains"
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: subscribe2.php:2031
|
540 |
msgid ""
|
541 |
"Enter domains to bar from public subscriptions: <br /> (Use a new line for "
|
542 |
"each entry and omit the \"@\" symbol, for example email.com)"
|
543 |
msgstr ""
|
544 |
|
545 |
+
#: subscribe2.php:2039
|
546 |
msgid "Reset Default"
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: subscribe2.php:2040
|
550 |
msgid ""
|
551 |
"Use this to reset all options to their defaults. This <strong><em>will not</"
|
552 |
"em></strong> modify your list of subscribers."
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: subscribe2.php:2042
|
556 |
msgid "RESET"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: subscribe2.php:2068
|
560 |
msgid "Subscription preferences updated."
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: subscribe2.php:2126
|
564 |
msgid "Editing Subscribe2 preferences for user"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: subscribe2.php:2135
|
568 |
msgid "Receive email as"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: subscribe2.php:2145
|
572 |
msgid "Plain Text"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: subscribe2.php:2147
|
576 |
msgid "Email contains"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: subscribe2.php:2148
|
580 |
msgid "Excerpt Only"
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: subscribe2.php:2148
|
584 |
msgid "Full Post"
|
585 |
msgstr ""
|
586 |
|
587 |
+
#: subscribe2.php:2156
|
588 |
msgid "Note: HTML format will always deliver the full post"
|
589 |
msgstr ""
|
590 |
|
591 |
+
#: subscribe2.php:2158
|
592 |
msgid "Automatically subscribe me to newly created categories"
|
593 |
msgstr ""
|
594 |
|
595 |
+
#: subscribe2.php:2179
|
596 |
msgid "Unsubscribe me from this blog"
|
597 |
msgstr ""
|
598 |
|
599 |
+
#: subscribe2.php:2183
|
600 |
msgid "Subscribe to all categories"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: subscribe2.php:2185
|
604 |
msgid "Subscribed Categories on"
|
605 |
msgstr ""
|
606 |
|
607 |
+
#: subscribe2.php:2187
|
608 |
msgid "Subscribed Categories"
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: subscribe2.php:2193
|
612 |
msgid "Receive periodic summaries of new posts?"
|
613 |
msgstr ""
|
614 |
|
615 |
+
#: subscribe2.php:2208
|
616 |
msgid "Update Preferences"
|
617 |
msgstr ""
|
618 |
|
619 |
+
#: subscribe2.php:2266
|
620 |
msgid "Subscribed Blogs"
|
621 |
msgstr ""
|
622 |
|
623 |
+
#: subscribe2.php:2271 subscribe2.php:2292
|
624 |
msgid "Viewing Settings Now"
|
625 |
msgstr ""
|
626 |
|
627 |
+
#: subscribe2.php:2275 subscribe2.php:2296
|
628 |
msgid "View Settings"
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: subscribe2.php:2287
|
632 |
msgid "Subscribe to new blogs"
|
633 |
msgstr ""
|
634 |
|
635 |
+
#: subscribe2.php:2358
|
636 |
msgid "Send an email to subscribers"
|
637 |
msgstr ""
|
638 |
|
639 |
+
#: subscribe2.php:2366
|
640 |
msgid "A message from "
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: subscribe2.php:2368
|
644 |
msgid "Subject"
|
645 |
msgstr ""
|
646 |
|
647 |
+
#: subscribe2.php:2371
|
648 |
msgid "Recipients: "
|
649 |
msgstr ""
|
650 |
|
651 |
+
#: subscribe2.php:2375
|
652 |
msgid "Send"
|
653 |
msgstr ""
|
654 |
|
655 |
+
#: subscribe2.php:2447
|
656 |
msgid "All Users and Subscribers"
|
657 |
msgstr ""
|
658 |
|
659 |
+
#: subscribe2.php:2448
|
660 |
msgid "Public Subscribers"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: subscribe2.php:2449
|
664 |
msgid "Confirmed"
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: subscribe2.php:2450
|
668 |
msgid "Unconfirmed"
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: subscribe2.php:2451
|
672 |
msgid "All Registered Users"
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: subscribe2.php:2452
|
676 |
msgid "Registered Subscribers"
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: subscribe2.php:2547
|
680 |
msgid "For each Post"
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: subscribe2.php:2562
|
684 |
msgid "Send Digest Notification at"
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: subscribe2.php:2574
|
688 |
msgid ""
|
689 |
"This option will work for digest notification sent daily or less frequently"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: subscribe2.php:2577
|
693 |
msgid "Current UTC time is"
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: subscribe2.php:2579
|
697 |
msgid "Current blog time is"
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: subscribe2.php:2581
|
701 |
msgid "Next email notification will be sent when your blog time is after"
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: subscribe2.php:2612
|
705 |
msgid "Settings"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: subscribe2.php:2624
|
709 |
msgid "Check here to Subscribe to email notifications for new posts"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: subscribe2.php:2633
|
713 |
msgid ""
|
714 |
"By registering with this blog you are also agreeing to receive email "
|
715 |
"notifications for new posts but you can unsubscribe at anytime"
|
716 |
msgstr ""
|
717 |
|
718 |
+
#: subscribe2.php:2654 subscribe2.php:2655 subscribe2.php:2683
|
719 |
msgid "Subscribe2 Notification Override"
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: subscribe2.php:2669
|
723 |
msgid ""
|
724 |
"Check here to disable sending of an email notification for this post/page"
|
725 |
msgstr ""
|
726 |
|
727 |
+
#: subscribe2.php:2811
|
728 |
msgid "Subscription Confirmation"
|
729 |
msgstr ""
|
730 |
|
731 |
+
#: subscribe2.php:2851
|
732 |
msgid "Title:"
|
733 |
msgstr ""
|
734 |
|
735 |
+
#: subscribe2.php:2853
|
736 |
msgid "Div class name:"
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: subscribe2.php:2903
|
740 |
msgid "[Un]Subscribe to Posts"
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: subscribe2.php:2981
|
744 |
msgid "Weekly"
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: subscribe2.php:3049
|
748 |
msgid "Posted on"
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: subscribe2.php:3094
|
752 |
msgid "Digest Email"
|
753 |
msgstr ""
|
754 |
|