New Email Address'; echo '
'; echo ''; echo ''; echo " "; echo '
'; echo "
\n"; echo '
'; echo '
Notification Options'; echo '
'; echo ''; echo " "; echo ''; echo '
'; echo "
\n"; echo '
'; echo '

Current Notification List

'; if (empty($cn_recipients)) { echo "No current recipients."; } else { echo "\n"; } echo "
\n"; } function comments_notifier() { show_comments_notifier(); } function show_comments_notifier($message_type='', $message='') { global $message_type; global $message; global $cn_recipients; global $cn_recipients_array; global $moderated_only_option; echo '
'; echo "

Comment Notifier

\n"; if (!empty($message_type)) { if ($message_type == "error") { echo '
' . $message . '
'; } elseif ($message_type == "success") { echo '
' . $message . '
'; } } cn_show_form($cn_recipients, $cn_recipients_array, $moderated_only_option); echo "
\n"; } function wp_notify_allmods($comment_id) { global $wpdb; $comment = $wpdb->get_row("SELECT * FROM $wpdb->comments WHERE comment_ID='$comment_id' LIMIT 1"); $post = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID='$comment->comment_post_ID' LIMIT 1"); $blogname = get_option('blogname'); $comment_author_domain = @gethostbyaddr($comment->comment_author_IP); $moderated_only_option = get_option("cn_moderated_only"); if (get_option('comment_moderation') == 1) { //if we need to send comment moderation email $comments_waiting = $wpdb->get_var("SELECT count(comment_ID) FROM $wpdb->comments WHERE comment_approved = '0'"); $notify_message = sprintf( __('A new comment on the post #%1$s "%2$s" is waiting for your approval'), $post->ID, $post->post_title ) . "\r\n"; $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n"; $notify_message .= sprintf( __('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n"; $notify_message .= sprintf( __('E-mail : %s'), $comment->comment_author_email ) . "\r\n"; $notify_message .= sprintf( __('URL : %s'), $comment->comment_author_url ) . "\r\n"; $notify_message .= sprintf( __('Whois : http://ws.arin.net/cgi-bin/whois.pl?queryinput=%s'), $comment->comment_author_IP ) . "\r\n"; $notify_message .= __('Comment: ') . "\r\n" . $comment->comment_content . "\r\n\r\n"; $notify_message .= sprintf( __('Approve it: %s'), get_option('siteurl')."/wp-admin/comment.php?action=mac&c=$comment_id" ) . "\r\n"; $notify_message .= sprintf( __('Delete it: %s'), get_option('siteurl')."/wp-admin/comment.php?action=cdc&c=$comment_id" ) . "\r\n"; $notify_message .= sprintf( __('Spam it: %s'), get_option('siteurl')."/wp-admin/comment.php?action=cdc&dt=spam&c=$comment_id" ) . "\r\n"; $notify_message .= sprintf( __('Currently %s comments are waiting for approval. Please visit the moderation panel:'), $comments_waiting ) . "\r\n"; $notify_message .= get_option('siteurl') . "/wp-admin/moderation.php\r\n"; $subject = sprintf( __('[%1$s] Please moderate: "%2$s"'), get_option('blogname'), $post->post_title ); $notify_message = apply_filters('comment_moderation_text', $notify_message, $comment_id); $subject = apply_filters('comment_moderation_subject', $subject, $comment_id); $message_headers = ""; $cn_recipients = get_option("cn_recipients"); $cn_recipients_array = explode(",", $cn_recipients); foreach ($cn_recipients_array as $email) { @wp_mail($email, $subject, $notify_message, $message_headers); } } else { //or just a regular "you've got a new comment" email if ($moderated_only_option != 1) { //if comments are not modded but update notifications are set to moderated only don't send $notify_message = sprintf( __('New comment on your post #%1$s "%2$s"'), $comment->comment_post_ID, $post->post_title ) . "\r\n"; $notify_message .= sprintf( __('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n"; $notify_message .= sprintf( __('E-mail : %s'), $comment->comment_author_email ) . "\r\n"; $notify_message .= sprintf( __('URL : %s'), $comment->comment_author_url ) . "\r\n"; $notify_message .= sprintf( __('Whois : http://ws.arin.net/cgi-bin/whois.pl?queryinput=%s'), $comment->comment_author_IP ) . "\r\n"; $notify_message .= __('Comment: ') . "\r\n" . $comment->comment_content . "\r\n\r\n"; $notify_message .= __('You can see all comments on this post here: ') . "\r\n"; $subject = sprintf( __('[%1$s] Comment: "%2$s"'), $blogname, $post->post_title ); $notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n"; $notify_message .= sprintf( __('Delete it: %s'), get_option('siteurl')."/wp-admin/comment.php?action=cdc&c=$comment_id" ) . "\r\n"; $notify_message .= sprintf( __('Spam it: %s'), get_option('siteurl')."/wp-admin/comment.php?action=cdc&dt=spam&c=$comment_id" ) . "\r\n"; $notify_message = apply_filters('comment_notification_text', $notify_message, $comment_id); $subject = apply_filters('comment_notification_subject', $subject, $comment_id); $message_headers = "MIME-Version: 1.0\n" . "$from\n" . "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"\n"; $message_headers = apply_filters('comment_notification_headers', $message_headers, $comment_id); $cn_recipients = get_option("cn_recipients"); $cn_recipients_array = explode(",", $cn_recipients); foreach ($cn_recipients_array as $email) { @wp_mail($email, $subject, $notify_message, $message_headers); } } } return true; } function check_dupes($email_address, $cn_recipients_array) { $has_dupes = false; foreach ($cn_recipients_array as $email) { if ($email == $email_address) { $has_dupes = true; break 1; } } return $has_dupes; } add_action('comment_post', 'wp_notify_allmods'); ?>