File "notify.php"
Full path: /home/webcknlt/admissiontell.com/wp-content/plugins/publishpress-authors/src/functions/notify.php
File
size: 7.8 B (7.8 KB bytes)
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor &nnbsp; Back
<?php
if (!function_exists('wp_notify_postauthor')) {
/**
* Notify a co-author of a comment/trackback/pingback to one of their posts.
* This is a modified version of the core function in wp-includes/pluggable.php that
* supports notifs to multiple co-authors. Unfortunately, this is the best way to do it :(
*
* @param int $comment_id Comment ID
* @param string $comment_type Optional. The comment type either 'comment' (default), 'trackback', or 'pingback'
*
* @return bool False if user email does not exist. True on completion.
* @since 2.6.2
*
*/
function wp_notify_postauthor($comment_id, $comment_type = '')
{
$comment = get_comment($comment_id);
$post = get_post($comment->comment_post_ID);
$coauthors = get_post_authors($post->ID);
foreach ($coauthors as $author) {
// The comment was left by the co-author
if ($comment->user_id == $author->ID) {
return false;
}
// The co-author moderated a comment on his own post
if ($author->ID == get_current_user_id()) {
return false;
}
// If there's no email to send the comment to
if ('' == $author->user_email) {
return false;
}
$comment_author_domain = '';
if (function_exists('gethostbyaddr')) {
$comment_author_domain = gethostbyaddr($comment->comment_author_IP);
}
// The blogname option is escaped with esc_html on the way into the database in sanitize_option
// we want to reverse this for the plain text arena of emails.
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
if (empty($comment_type)) {
$comment_type = 'comment';
}
if ('comment' == $comment_type) {
$notify_message = sprintf(__('New comment on your post "%s"'), $post->post_title) . "\r\n";
/* translators: 1: comment author, 2: author IP, 3: author domain */
$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://whois.arin.net/rest/ip/%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";
/* translators: 1: blog name, 2: post title */
$subject = sprintf(__('[%1$s] Comment: "%2$s"'), $blogname, $post->post_title);
} elseif ('trackback' == $comment_type) {
$notify_message = sprintf(__('New trackback on your post "%s"'), $post->post_title) . "\r\n";
/* translators: 1: website name, 2: author IP, 3: author domain */
$notify_message .= sprintf(
__('Website: %1$s (IP: %2$s , %3$s)'),
$comment->comment_author,
$comment->comment_author_IP,
$comment_author_domain
) . "\r\n";
$notify_message .= sprintf(__('URL : %s'), $comment->comment_author_url) . "\r\n";
$notify_message .= __('Excerpt: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
$notify_message .= __('You can see all trackbacks on this post here: ') . "\r\n";
/* translators: 1: blog name, 2: post title */
$subject = sprintf(__('[%1$s] Trackback: "%2$s"'), $blogname, $post->post_title);
} elseif ('pingback' == $comment_type) {
$notify_message = sprintf(__('New pingback on your post "%s"'), $post->post_title) . "\r\n";
/* translators: 1: comment author, 2: author IP, 3: author domain */
$notify_message .= sprintf(
__('Website: %1$s (IP: %2$s , %3$s)'),
$comment->comment_author,
$comment->comment_author_IP,
$comment_author_domain
) . "\r\n";
$notify_message .= sprintf(__('URL : %s'), $comment->comment_author_url) . "\r\n";
$notify_message .= __('Excerpt: ') . "\r\n" . sprintf(
'[...] %s [...]',
$comment->comment_content
) . "\r\n\r\n";
$notify_message .= __('You can see all pingbacks on this post here: ') . "\r\n";
/* translators: 1: blog name, 2: post title */
$subject = sprintf(__('[%1$s] Pingback: "%2$s"'), $blogname, $post->post_title);
}
$notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
$notify_message .= sprintf(
__('Permalink: %s'),
get_permalink($comment->comment_post_ID) . '#comment-' . $comment_id
) . "\r\n";
if (EMPTY_TRASH_DAYS) {
$notify_message .= sprintf(
__('Trash it: %s'),
admin_url("comment.php?action=trash&c=$comment_id")
) . "\r\n";
} else {
$notify_message .= sprintf(
__('Delete it: %s'),
admin_url("comment.php?action=delete&c=$comment_id")
) . "\r\n";
}
$notify_message .= sprintf(
__('Spam it: %s'),
admin_url("comment.php?action=spam&c=$comment_id")
) . "\r\n";
$wp_email = 'wordpress@example.com';
if (isset($_SERVER['SERVER_NAME'])) {
$wp_email = 'wordpress@' . preg_replace('#^www\.#', '', strtolower(sanitize_text_field($_SERVER['SERVER_NAME'])));
}
if ('' == $comment->comment_author) {
$from = "From: \"$blogname\" <$wp_email>";
if ('' != $comment->comment_author_email) {
$reply_to = "Reply-To: $comment->comment_author_email";
}
} else {
$from = "From: \"$comment->comment_author\" <$wp_email>";
if ('' != $comment->comment_author_email) {
$reply_to = "Reply-To: \"$comment->comment_author_email\" <$comment->comment_author_email>";
}
}
$message_headers = "$from\n"
. 'Content-Type: text/plain; charset="' . get_option('blog_charset') . "\"\n";
if (isset($reply_to)) {
$message_headers .= $reply_to . "\n";
}
$notify_message = apply_filters('comment_notification_text', $notify_message, $comment_id);
$subject = apply_filters('comment_notification_subject', $subject, $comment_id);
$message_headers = apply_filters('comment_notification_headers', $message_headers, $comment_id);
// phpcs:ignore WordPressVIPMinimum.Functions.RestrictedFunctions.wp_mail_wp_mail
wp_mail($author->user_email, $subject, $notify_message, $message_headers);
}
return true;
}
}