本文整理汇总了PHP中bp_get_email_subject函数的典型用法代码示例。如果您正苦于以下问题:PHP bp_get_email_subject函数的具体用法?PHP bp_get_email_subject怎么用?PHP bp_get_email_subject使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了bp_get_email_subject函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: friends_notification_accepted_request
function friends_notification_accepted_request($friendship_id, $initiator_id, $friend_id)
{
$friend_name = bp_core_get_user_displayname($friend_id);
if ('no' == bp_get_user_meta((int) $initiator_id, 'notification_friends_friendship_accepted', true)) {
return false;
}
$ud = get_userdata($initiator_id);
$friend_link = bp_core_get_user_domain($friend_id);
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = trailingslashit(bp_core_get_user_domain($initiator_id) . $settings_slug . '/notifications');
// Set up and send the message
$to = $ud->user_email;
$subject = bp_get_email_subject(array('text' => sprintf(__('%s accepted your friendship request', 'buddypress'), $friend_name)));
$message = sprintf(__('%1$s accepted your friend request.
To view %2$s\'s profile: %3$s
---------------------
', 'buddypress'), $friend_name, $friend_name, $friend_link);
// Only show the disable notifications line if the settings component is enabled
if (bp_is_active('settings')) {
$message .= sprintf(__('To disable these notifications please log in and go to: %s', 'buddypress'), $settings_link);
}
/* Send the message */
$to = apply_filters('friends_notification_accepted_request_to', $to);
$subject = apply_filters('friends_notification_accepted_request_subject', $subject, $friend_name);
$message = apply_filters('friends_notification_accepted_request_message', $message, $friend_name, $friend_link, $settings_link);
wp_mail($to, $subject, $message);
do_action('bp_friends_sent_accepted_email', $initiator_id, $subject, $message, $friendship_id, $friend_id);
}
示例2: messages_notification_new_message
function messages_notification_new_message($args = array())
{
// These should be extracted below
$recipients = array();
$email_subject = $email_content = '';
extract($args);
$sender_name = bp_core_get_user_displayname($sender_id);
// Bail if no recipients
if (!empty($recipients)) {
foreach ($recipients as $recipient) {
if ($sender_id == $recipient->user_id || 'no' == bp_get_user_meta($recipient->user_id, 'notification_messages_new_message', true)) {
continue;
}
// User data and links
$ud = get_userdata($recipient->user_id);
// Bail if user cannot be found
if (empty($ud)) {
continue;
}
$message_link = bp_core_get_user_domain($recipient->user_id) . bp_get_messages_slug() . '/';
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = bp_core_get_user_domain($recipient->user_id) . $settings_slug . '/notifications/';
// Sender info
$sender_name = stripslashes($sender_name);
$subject = stripslashes(wp_filter_kses($subject));
$content = stripslashes(wp_filter_kses($content));
// Set up and send the message
$email_to = $ud->user_email;
$email_subject = bp_get_email_subject(array('text' => sprintf(__('New message from %s', 'buddypress'), $sender_name)));
$email_content = sprintf(__('%1$s sent you a new message:
Subject: %2$s
"%3$s"
To view and read your messages please log in and visit: %4$s
---------------------
', 'buddypress'), $sender_name, $subject, $content, $message_link);
// Only show the disable notifications line if the settings component is enabled
if (bp_is_active('settings')) {
$email_content .= sprintf(__('To disable these notifications please log in and go to: %s', 'buddypress'), $settings_link);
}
// Send the message
$email_to = apply_filters('messages_notification_new_message_to', $email_to);
$email_subject = apply_filters('messages_notification_new_message_subject', $email_subject, $sender_name);
$email_content = apply_filters('messages_notification_new_message_message', $email_content, $sender_name, $subject, $content, $message_link, $settings_link);
wp_mail($email_to, $email_subject, $email_content);
}
}
do_action('bp_messages_sent_notification_email', $recipients, $email_subject, $email_content, $args);
}
示例3: messages_notification_new_message
/**
* Email message recipients to alert them of a new unread private message.
*
* @since BuddyPress (1.0.0)
*
* @param array|BP_Messages_Message $raw_args {
* Array of arguments. Also accepts a BP_Messages_Message object.
* @type array $recipients User IDs of recipients.
* @type string $email_subject Subject line of message.
* @type string $email_content Content of message.
* @type int $sender_id User ID of sender.
* }
*/
function messages_notification_new_message($raw_args = array())
{
// Cast possible $message object as an array
if (is_object($raw_args)) {
$args = (array) $raw_args;
} else {
$args = $raw_args;
}
// These should be extracted below
$recipients = array();
$email_subject = $email_content = '';
$sender_id = 0;
// Barf
extract($args);
// Get the sender display name
$sender_name = bp_core_get_user_displayname($sender_id);
// Bail if no recipients
if (!empty($recipients)) {
foreach ($recipients as $recipient) {
if ($sender_id == $recipient->user_id || 'no' == bp_get_user_meta($recipient->user_id, 'notification_messages_new_message', true)) {
continue;
}
// User data and links
$ud = get_userdata($recipient->user_id);
// Bail if user cannot be found
if (empty($ud)) {
continue;
}
$message_link = bp_core_get_user_domain($recipient->user_id) . bp_get_messages_slug() . '/';
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = bp_core_get_user_domain($recipient->user_id) . $settings_slug . '/notifications/';
// Sender info
$sender_name = stripslashes($sender_name);
$subject = stripslashes(wp_filter_kses($subject));
$content = stripslashes(wp_filter_kses($message));
// Set up and send the message
$email_to = $ud->user_email;
$email_subject = bp_get_email_subject(array('text' => sprintf(__('New message from %s', 'buddypress'), $sender_name)));
$email_content = sprintf(__('%1$s sent you a new message:
Subject: %2$s
"%3$s"
To view and read your messages please log in and visit: %4$s
---------------------
', 'buddypress'), $sender_name, $subject, $content, $message_link);
// Only show the disable notifications line if the settings component is enabled
if (bp_is_active('settings')) {
$email_content .= sprintf(__('To disable these notifications, please log in and go to: %s', 'buddypress'), $settings_link);
}
/**
* Filters the user email that the message notification will be sent to.
*
* @since BuddyPress (1.2.0)
*
* @param string $email_to User email the notification is being sent to.
* @param WP_User $ud WP_User object of who is receiving the message.
*/
$email_to = apply_filters('messages_notification_new_message_to', $email_to, $ud);
/**
* Filters the message notification subject that will be sent to user.
*
* @since BuddyPress (1.2.0)
*
* @param string $email_subject Email notification subject text.
* @param string $sender_name Name of the person who sent the message.
* @param WP_User $ud WP_User object of who is receiving the message.
*/
$email_subject = apply_filters('messages_notification_new_message_subject', $email_subject, $sender_name, $ud);
/**
* Filters the message notification message that will be sent to user.
*
* @since BuddyPress (1.2.0)
*
* @param string $email_content Email notification message text.
* @param string $sender_name Name of the person who sent the message.
* @param string $subject Email notification subject text.
* @param string $content Content of the message.
* @param string $message_link URL permalink for the message.
* @param string $settings_link URL permalink for the user's notification settings area.
* @param WP_User $ud WP_User object of who is receiving the message.
*/
$email_content = apply_filters('messages_notification_new_message_message', $email_content, $sender_name, $subject, $content, $message_link, $settings_link, $ud);
wp_mail($email_to, $email_subject, $email_content);
}
//.........这里部分代码省略.........
示例4: bp_activity_new_comment_notification
/**
* Send email and BP notifications when an activity item receives a comment.
*
* @since 1.2.0
*
* @uses bp_get_user_meta()
* @uses bp_core_get_user_displayname()
* @uses bp_activity_get_permalink()
* @uses bp_core_get_user_domain()
* @uses bp_get_settings_slug()
* @uses bp_activity_filter_kses()
* @uses bp_core_get_core_userdata()
* @uses wp_specialchars_decode()
* @uses get_blog_option()
* @uses bp_get_root_blog_id()
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_to' hook.
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_subject' hook.
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_message' hook.
* @uses wp_mail()
* @uses do_action() To call the 'bp_activity_sent_reply_to_update_email' hook.
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_comment_author_to' hook.
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_comment_author_subject' hook.
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_comment_author_message' hook.
* @uses do_action() To call the 'bp_activity_sent_reply_to_reply_email' hook.
*
* @param int $comment_id The comment id.
* @param int $commenter_id The ID of the user who posted the comment.
* @param array $params {@link bp_activity_new_comment()}.
* @return bool
*/
function bp_activity_new_comment_notification($comment_id = 0, $commenter_id = 0, $params = array())
{
// Set some default parameters.
$activity_id = 0;
$parent_id = 0;
extract($params);
$original_activity = new BP_Activity_Activity($activity_id);
if ($original_activity->user_id != $commenter_id && 'no' != bp_get_user_meta($original_activity->user_id, 'notification_activity_new_reply', true)) {
$poster_name = bp_core_get_user_displayname($commenter_id);
$thread_link = bp_activity_get_permalink($activity_id);
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = bp_core_get_user_domain($original_activity->user_id) . $settings_slug . '/notifications/';
$poster_name = stripslashes($poster_name);
$content = bp_activity_filter_kses(stripslashes($content));
// Set up and send the message.
$ud = bp_core_get_core_userdata($original_activity->user_id);
$to = $ud->user_email;
$subject = bp_get_email_subject(array('text' => sprintf(__('%s replied to one of your updates', 'buddypress'), $poster_name)));
$message = sprintf(__('%1$s replied to one of your updates:
"%2$s"
To view your original update and all comments, log in and visit: %3$s
---------------------
', 'buddypress'), $poster_name, $content, $thread_link);
// Only show the disable notifications line if the settings component is enabled.
if (bp_is_active('settings')) {
$message .= sprintf(__('To disable these notifications please log in and go to: %s', 'buddypress'), $settings_link);
}
/**
* Filters the user email that the new comment notification will be sent to.
*
* @since 1.2.0
*
* @param string $to User email the notification is being sent to.
*/
$to = apply_filters('bp_activity_new_comment_notification_to', $to);
/**
* Filters the new comment notification subject that will be sent to user.
*
* @since 1.2.0
*
* @param string $subject Email notification subject text.
* @param string $poster_name Name of the person who made the comment.
*/
$subject = apply_filters('bp_activity_new_comment_notification_subject', $subject, $poster_name);
/**
* Filters the new comment notification message that will be sent to user.
*
* @since 1.2.0
*
* @param string $message Email notification message text.
* @param string $poster_name Name of the person who made the comment.
* @param string $content Content of the comment.
* @param string $thread_link URL permalink for the activity thread.
* @param string $settings_link URL permalink for the user's notification settings area.
*/
$message = apply_filters('bp_activity_new_comment_notification_message', $message, $poster_name, $content, $thread_link, $settings_link);
wp_mail($to, $subject, $message);
/**
* Fires after the sending of a reply to an update email notification.
*
* @since 1.5.0
*
* @param int $user_id ID of the original activity item author.
* @param string $subject Email notification subject text.
* @param string $message Email notification message text.
* @param int $comment_id ID for the newly received comment.
* @param int $commenter_id ID of the user who made the comment.
//.........这里部分代码省略.........
示例5: groups_notification_group_invites
function groups_notification_group_invites(&$group, &$member, $inviter_user_id)
{
// @todo $inviter_up may be used for caching, test without it
$inviter_ud = bp_core_get_core_userdata($inviter_user_id);
$inviter_name = bp_core_get_userlink($inviter_user_id, true, false, true);
$inviter_link = bp_core_get_user_domain($inviter_user_id);
$group_link = bp_get_group_permalink($group);
if (!$member->invite_sent) {
$invited_user_id = $member->user_id;
// Post a screen notification first.
bp_core_add_notification($group->id, $invited_user_id, 'groups', 'group_invite');
if ('no' == bp_get_user_meta($invited_user_id, 'notification_groups_invite', true)) {
return false;
}
$invited_ud = bp_core_get_core_userdata($invited_user_id);
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = bp_core_get_user_domain($invited_user_id) . $settings_slug . '/notifications/';
$invited_link = bp_core_get_user_domain($invited_user_id);
$invites_link = trailingslashit($invited_link . bp_get_groups_slug() . '/invites');
// Set up and send the message
$to = $invited_ud->user_email;
$subject = bp_get_email_subject(array('text' => sprintf(__('You have an invitation to the group: "%s"', 'buddypress'), $group->name)));
$message = sprintf(__('One of your friends %1$s has invited you to the group: "%2$s".
To view your group invites visit: %3$s
To view the group visit: %4$s
To view %5$s\'s profile visit: %6$s
---------------------
', 'buddypress'), $inviter_name, $group->name, $invites_link, $group_link, $inviter_name, $inviter_link);
// Only show the disable notifications line if the settings component is enabled
if (bp_is_active('settings')) {
$message .= sprintf(__('To disable these notifications please log in and go to: %s', 'buddypress'), $settings_link);
}
/* Send the message */
$to = apply_filters('groups_notification_group_invites_to', $to);
$subject = apply_filters_ref_array('groups_notification_group_invites_subject', array($subject, &$group));
$message = apply_filters_ref_array('groups_notification_group_invites_message', array($message, &$group, $inviter_name, $inviter_link, $invites_link, $group_link, $settings_link));
wp_mail($to, $subject, $message);
do_action('bp_groups_sent_invited_email', $invited_user_id, $subject, $message, $group);
}
}
示例6: groups_notification_group_invites
/**
* Notify a member they have been invited to a group.
*
* @since 1.0.0
*
* @param BP_Groups_Group $group Group object.
* @param BP_Groups_Member $member Member object.
* @param int $inviter_user_id ID of the user who sent the invite.
* @return null|false False on failure.
*/
function groups_notification_group_invites(&$group, &$member, $inviter_user_id)
{
// Bail if member has already been invited.
if (!empty($member->invite_sent)) {
return;
}
// @todo $inviter_ud may be used for caching, test without it
$inviter_ud = bp_core_get_core_userdata($inviter_user_id);
$inviter_name = bp_core_get_userlink($inviter_user_id, true, false, true);
$inviter_link = bp_core_get_user_domain($inviter_user_id);
$group_link = bp_get_group_permalink($group);
// Setup the ID for the invited user.
$invited_user_id = $member->user_id;
// Trigger a BuddyPress Notification.
if (bp_is_active('notifications')) {
bp_notifications_add_notification(array('user_id' => $invited_user_id, 'item_id' => $group->id, 'component_name' => buddypress()->groups->id, 'component_action' => 'group_invite'));
}
// Bail if member opted out of receiving this email.
if ('no' === bp_get_user_meta($invited_user_id, 'notification_groups_invite', true)) {
return false;
}
$invited_ud = bp_core_get_core_userdata($invited_user_id);
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = bp_core_get_user_domain($invited_user_id) . $settings_slug . '/notifications/';
$invited_link = bp_core_get_user_domain($invited_user_id);
$invites_link = trailingslashit($invited_link . bp_get_groups_slug() . '/invites');
// Set up and send the message.
$to = $invited_ud->user_email;
$subject = bp_get_email_subject(array('text' => sprintf(__('You have an invitation to the group: "%s"', 'buddypress'), $group->name)));
$message = sprintf(__('One of your friends %1$s has invited you to the group: "%2$s".
To view your group invites visit: %3$s
To view the group visit: %4$s
To view %5$s\'s profile visit: %6$s
---------------------
', 'buddypress'), $inviter_name, $group->name, $invites_link, $group_link, $inviter_name, $inviter_link);
// Only show the disable notifications line if the settings component is enabled.
if (bp_is_active('settings')) {
$message .= sprintf(__('To disable these notifications please log in and go to: %s', 'buddypress'), $settings_link);
}
/**
* Filters the user email that the group invite notification will be sent to.
*
* @since 1.2.0
*
* @param string $to User email the invite notification is being sent to.
*/
$to = apply_filters('groups_notification_group_invites_to', $to);
/**
* Filters the group invite notification subject that will be sent to user.
*
* @since 1.2.0
*
* @param string $subject Invite notification email subject text.
* @param BP_Groups_Group $group Object holding the current group instance. Passed by reference.
*/
$subject = apply_filters_ref_array('groups_notification_group_invites_subject', array($subject, &$group));
/**
* Filters the group invite notification message that will be sent to user.
*
* @since 1.2.0
*
* @param string $message Invite notification email message text.
* @param BP_Groups_Group $group Object holding the current group instance. Passed by reference.
* @param string $inviter_name Username for the person doing the inviting.
* @param string $inviter_link Profile link for the person doing the inviting.
* @param string $invites_link URL permalink for the invited user's invite management screen.
* @param string $group_link URL permalink for the group that the invite was related to.
* @param string $settings_link URL permalink for the user's notification settings area.
*/
$message = apply_filters_ref_array('groups_notification_group_invites_message', array($message, &$group, $inviter_name, $inviter_link, $invites_link, $group_link, $settings_link));
wp_mail($to, $subject, $message);
/**
* Fires after the notification is sent that a member has been invited to a group.
*
* @since 1.5.0
*
* @param int $invited_user_id ID of the user who was invited.
* @param string $subject Email notification subject text.
* @param string $message Email notification message text.
* @param BP_Groups_Group $group Group object.
*/
do_action('bp_groups_sent_invited_email', $invited_user_id, $subject, $message, $group);
}
示例7: bp_core_activation_signup_user_notification
/**
* Notify new users of a successful registration (without blog).
*
* @see wpmu_signup_user_notification() for a full description of params.
*
* @param string $user The user's login name.
* @param string $user_email The user's email address.
* @param string $key The activation key created in wpmu_signup_user()
* @param array $meta By default, an empty array.
* @return bool True on success, false on failure.
*/
function bp_core_activation_signup_user_notification( $user, $user_email, $key, $meta ) {
if ( is_admin() ) {
// If the user is created from the WordPress Add User screen, don't send BuddyPress signup notifications
if( in_array( get_current_screen()->id, array( 'user', 'user-network' ) ) ) {
// If the Super Admin want to skip confirmation email
if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
return false;
// WordPress will manage the signup process
} else {
return $user;
}
/**
* There can be a case where the user was created without the skip confirmation
* And the super admin goes in pending accounts to resend it. In this case, as the
* meta['password'] is not set, the activation url must be WordPress one
*/
} elseif ( buddypress()->members->admin->signups_page == get_current_screen()->id ) {
$is_hashpass_in_meta = maybe_unserialize( $meta );
if ( empty( $is_hashpass_in_meta['password'] ) ) {
return $user;
}
}
}
// Set up activation link
$activate_url = bp_get_activation_page() . "?key=$key";
$activate_url = esc_url( $activate_url );
// Email contents
$message = sprintf( __( "Thanks for registering! To complete the activation of your account please click the following link:\n\n%1\$s\n\n", 'buddypress' ), $activate_url );
$subject = bp_get_email_subject( array( 'text' => __( 'Activate Your Account', 'buddypress' ) ) );
// Email filters
$to = apply_filters( 'bp_core_activation_signup_user_notification_to', $user_email, $user, $user_email, $key, $meta );
$subject = apply_filters( 'bp_core_activation_signup_user_notification_subject', $subject, $user, $user_email, $key, $meta );
$message = apply_filters( 'bp_core_activation_signup_user_notification_message', $message, $user, $user_email, $key, $meta );
// Send the email
wp_mail( $to, $subject, $message );
// Set up the $admin_email to pass to the filter
$admin_email = bp_get_option( 'admin_email' );
do_action( 'bp_core_sent_user_signup_email', $admin_email, $subject, $message, $user, $user_email, $key, $meta );
// Return false to stop the original WPMU function from continuing
return false;
}
示例8: bp_core_activation_signup_user_notification
/**
* Notify new users of a successful registration (without blog).
*
* @see wpmu_signup_user_notification() for a full description of params.
*
* @param string $user The user's login name.
* @param string $user_email The user's email address.
* @param string $key The activation key created in wpmu_signup_user()
* @param array $meta By default, an empty array.
*
* @return bool|string True on success, false on failure.
*/
function bp_core_activation_signup_user_notification($user, $user_email, $key, $meta)
{
if (is_admin()) {
// If the user is created from the WordPress Add User screen, don't send BuddyPress signup notifications
if (in_array(get_current_screen()->id, array('user', 'user-network'))) {
// If the Super Admin want to skip confirmation email
if (isset($_POST['noconfirmation']) && is_super_admin()) {
return false;
// WordPress will manage the signup process
} else {
return $user;
}
/**
* There can be a case where the user was created without the skip confirmation
* And the super admin goes in pending accounts to resend it. In this case, as the
* meta['password'] is not set, the activation url must be WordPress one
*/
} elseif (buddypress()->members->admin->signups_page == get_current_screen()->id) {
$is_hashpass_in_meta = maybe_unserialize($meta);
if (empty($is_hashpass_in_meta['password'])) {
return $user;
}
}
}
// Set up activation link
$activate_url = bp_get_activation_page() . "?key={$key}";
$activate_url = esc_url($activate_url);
// Email contents
$message = sprintf(__("Thanks for registering! To complete the activation of your account please click the following link:\n\n%1\$s\n\n", 'buddypress'), $activate_url);
$subject = bp_get_email_subject(array('text' => __('Activate Your Account', 'buddypress')));
/**
* Filters the email that the notification is going to upon successful registration without blog.
*
* @since 1.2.0
*
* @param string $user_email The user's email address.
* @param string $user The user's login name.
* @param string $user_email The user's email address.
* @param string $key The activation key created in wpmu_signup_blog().
* @param array $meta Array of meta values for the created site.
*/
$to = apply_filters('bp_core_activation_signup_user_notification_to', $user_email, $user, $user_email, $key, $meta);
/**
* Filters the subject that the notification uses upon successful registration without blog.
*
* @since 1.2.0
*
* @param string $subject The subject to use.
* @param string $user The user's login name.
* @param string $user_email The user's email address.
* @param string $key The activation key created in wpmu_signup_blog().
* @param array $meta Array of meta values for the created site.
*/
$subject = apply_filters('bp_core_activation_signup_user_notification_subject', $subject, $user, $user_email, $key, $meta);
/**
* Filters the message that the notification uses upon successful registration without blog.
*
* @since 1.2.0
*
* @param string $message The message to use.
* @param string $user The user's login name.
* @param string $user_email The user's email address.
* @param string $key The activation key created in wpmu_signup_blog().
* @param array $meta Array of meta values for the created site.
*/
$message = apply_filters('bp_core_activation_signup_user_notification_message', $message, $user, $user_email, $key, $meta);
// Send the email
wp_mail($to, $subject, $message);
// Set up the $admin_email to pass to the filter
$admin_email = bp_get_option('admin_email');
/**
* Fires after the sending of the notification to new users for successful registration without blog.
*
* @since 1.5.0
*
* @param string $admin_email Admin Email address for the site.
* @param string $subject Subject used in the notification email.
* @param string $message Message used in the notification email.
* @param string $user The user's login name.
* @param string $user_email The user's email address.
* @param string $key The activation key created in wpmu_signup_blog().
* @param array $meta Array of meta values for the created site. Default empty array.
*/
do_action('bp_core_sent_user_signup_email', $admin_email, $subject, $message, $user, $user_email, $key, $meta);
// Return false to stop the original WPMU function from continuing
return false;
}
示例9: groups_at_message_notification
/**
* Send an email and a BP notification on receipt of an @-mention in a group
*
* @deprecated BuddyPress (1.5)
* @deprecated Deprecated in favor of the more general bp_activity_at_message_notification()
*/
function groups_at_message_notification($content, $poster_user_id, $group_id, $activity_id)
{
_deprecated_function(__FUNCTION__, '1.5', 'bp_activity_at_message_notification()');
/* Scan for @username strings in an activity update. Notify each user. */
$pattern = '/[@]+([A-Za-z0-9-_\\.@]+)/';
preg_match_all($pattern, $content, $usernames);
/* Make sure there's only one instance of each username */
if (!($usernames = array_unique($usernames[1]))) {
return false;
}
$group = new BP_Groups_Group($group_id);
foreach ((array) $usernames as $username) {
if (!($receiver_user_id = bp_core_get_userid($username))) {
continue;
}
/* Check the user is a member of the group before sending the update. */
if (!groups_is_user_member($receiver_user_id, $group_id)) {
continue;
}
// Now email the user with the contents of the message (if they have enabled email notifications)
if ('no' != bp_get_user_meta($receiver_user_id, 'notification_activity_new_mention', true)) {
$poster_name = bp_core_get_user_displayname($poster_user_id);
$message_link = bp_activity_get_permalink($activity_id);
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = bp_core_get_user_domain($receiver_user_id) . $settings_slug . '/notifications/';
$poster_name = stripslashes($poster_name);
$content = bp_groups_filter_kses(stripslashes($content));
// Set up and send the message
$ud = bp_core_get_core_userdata($receiver_user_id);
$to = $ud->user_email;
$subject = bp_get_email_subject(array('text' => sprintf(__('%1$s mentioned you in the group "%2$s"', 'buddypress'), $poster_name, $group->name)));
$message = sprintf(__('%1$s mentioned you in the group "%2$s":
"%3$s"
To view and respond to the message, log in and visit: %4$s
---------------------
', 'buddypress'), $poster_name, $group->name, $content, $message_link);
$message .= sprintf(__('To disable these notifications please log in and go to: %s', 'buddypress'), $settings_link);
/* Send the message */
$to = apply_filters('groups_at_message_notification_to', $to);
$subject = apply_filters('groups_at_message_notification_subject', $subject, $group, $poster_name);
$message = apply_filters('groups_at_message_notification_message', $message, $group, $poster_name, $content, $message_link, $settings_link);
wp_mail($to, $subject, $message);
}
}
do_action('bp_groups_sent_mention_email', $usernames, $subject, $message, $content, $poster_user_id, $group_id, $activity_id);
}
示例10: friends_notification_accepted_request
/**
* Send notifications related to the acceptance of a friendship request.
*
* When a friendship request is accepted, an email and a BP notification are
* sent to the user who requested the friendship ($initiator_id).
*
* @param int $friendship_id ID of the friendship object.
* @param int $initiator_id ID of the user who initiated the request.
* @param int $friend_id ID of the request recipient.
* @return bool
*/
function friends_notification_accepted_request($friendship_id, $initiator_id, $friend_id)
{
$friend_name = bp_core_get_user_displayname($friend_id);
if ('no' == bp_get_user_meta((int) $initiator_id, 'notification_friends_friendship_accepted', true)) {
return false;
}
$ud = get_userdata($initiator_id);
$friend_link = bp_core_get_user_domain($friend_id);
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = trailingslashit(bp_core_get_user_domain($initiator_id) . $settings_slug . '/notifications');
// Set up and send the message.
$to = $ud->user_email;
$subject = bp_get_email_subject(array('text' => sprintf(__('%s accepted your friendship request', 'buddypress'), $friend_name)));
$message = sprintf(__('%1$s accepted your friend request.
To view %2$s\'s profile: %3$s
---------------------
', 'buddypress'), $friend_name, $friend_name, $friend_link);
// Only show the disable notifications line if the settings component is enabled.
if (bp_is_active('settings')) {
$message .= sprintf(__('To disable these notifications please log in and go to: %s', 'buddypress'), $settings_link);
}
/**
* Filters the email address for whose friend request got accepted.
*
* @since 1.2.0
*
* @param string $to Email address for whose friend request got accepted.
*/
$to = apply_filters('friends_notification_accepted_request_to', $to);
/**
* Filters the subject for the friend request accepted email.
*
* @since 1.2.0
*
* @param string $subject Subject line to be used in friend request accepted email.
* @param string $friend_name Name of the person who accepted the friendship request.
*/
$subject = apply_filters('friends_notification_accepted_request_subject', $subject, $friend_name);
/**
* Filters the message for the friend request accepted email.
*
* @since 1.2.0
*
* @param string $message Message to be used in friend request email.
* @param string $friend_name Name of the person who accepted the friendship request.
* @param string $friend_link Profile link of person who accepted the friendship request.
* @param string $settings_link Email recipient's settings management link.
*/
$message = apply_filters('friends_notification_accepted_request_message', $message, $friend_name, $friend_link, $settings_link);
wp_mail($to, $subject, $message);
/**
* Fires after the friend request accepted email is sent.
*
* @since 1.5.0
*
* @param int $initiator_id ID of the friendship requester.
* @param string $subject Text for the friend request subject field.
* @param string $message Text for the friend request message field.
* @param int $friendship_id ID of the friendship object.
* @param int $friend_id ID of the request recipient.
*/
do_action('bp_friends_sent_accepted_email', $initiator_id, $subject, $message, $friendship_id, $friend_id);
}
示例11: bp_core_signup_send_validation_email
function bp_core_signup_send_validation_email($user_id, $user_email, $key)
{
$activate_url = bp_get_activation_page() . "?key={$key}";
$activate_url = esc_url($activate_url);
$message = sprintf(__("Thanks for registering! To complete the activation of your account please click the following link:\n\n%1\$s\n\n", 'buddypress'), $activate_url);
$subject = bp_get_email_subject(array('text' => __('Activate Your Account', 'buddypress')));
// Send the message
$to = apply_filters('bp_core_signup_send_validation_email_to', $user_email, $user_id);
$subject = apply_filters('bp_core_signup_send_validation_email_subject', $subject, $user_id);
$message = apply_filters('bp_core_signup_send_validation_email_message', $message, $user_id, $activate_url);
wp_mail($to, $subject, $message);
do_action('bp_core_sent_user_validation_email', $subject, $message, $user_id, $user_email, $key);
}
示例12: bp_core_signup_send_validation_email
/**
* Send activation email to a newly registered user.
*
* @param int $user_id ID of the new user.
* @param string $user_email Email address of the new user.
* @param string $key Activation key.
*/
function bp_core_signup_send_validation_email($user_id, $user_email, $key)
{
$activate_url = trailingslashit(bp_get_activation_page()) . "{$key}/";
$activate_url = esc_url($activate_url);
$message = sprintf(__("Thanks for registering! To complete the activation of your account please click the following link:\n\n%1\$s\n\n", 'buddypress'), $activate_url);
$subject = bp_get_email_subject(array('text' => __('Activate Your Account', 'buddypress')));
/**
* Filters the user email that the validation email will be sent to.
*
* @since BuddyPress (1.5.0)
*
* @param string $user_email User email the notification is being sent to.
* @param int $user_id ID of the new user receiving email.
*/
$to = apply_filters('bp_core_signup_send_validation_email_to', $user_email, $user_id);
/**
* Filters the validation email subject that will be sent to user.
*
* @since BuddyPress (1.5.0)
*
* @param string $subject Email validation subject text.
* @param int $user_id ID of the new user receiving email.
*/
$subject = apply_filters('bp_core_signup_send_validation_email_subject', $subject, $user_id);
/**
* Filters the validation email message that will be sent to user.
*
* @since BuddyPress (1.5.0)
*
* @param string $message Email validation message text.
* @param int $user_id ID of the new user receiving email.
* @param string $activate_url URL to use for activating account.
*/
$message = apply_filters('bp_core_signup_send_validation_email_message', $message, $user_id, $activate_url);
wp_mail($to, $subject, $message);
/**
* Fires after the sending of activation email to a newly registered user.
*
* @since BuddyPress (1.5.0)
*
* @param string $subject Subject for the sent email.
* @param string $message Message for the sent email.
* @param int $user_id ID of the new user.
* @param string $user_email Email address of the new user.
* @param string $key Activation key.
*/
do_action('bp_core_sent_user_validation_email', $subject, $message, $user_id, $user_email, $key);
}
示例13: bp_core_activation_signup_user_notification
/**
* Notify new users of a successful registration (without blog).
*
* @see wpmu_signup_user_notification() for a full description of params.
*
* @param string $user The user's login name.
* @param string $user_email The user's email address.
* @param string $key The activation key created in wpmu_signup_user()
* @param array $meta By default, an empty array.
* @return bool True on success, false on failure.
*/
function bp_core_activation_signup_user_notification($user, $user_email, $key, $meta)
{
// Set up activation link
$activate_url = bp_get_activation_page() . "?key={$key}";
$activate_url = esc_url($activate_url);
// Email contents
$message = sprintf(__("Thanks for registering! To complete the activation of your account please click the following link:\n\n%1\$s\n\n", 'buddypress'), $activate_url);
$subject = bp_get_email_subject(array('text' => __('Activate Your Account', 'buddypress')));
// Email filters
$to = apply_filters('bp_core_activation_signup_user_notification_to', $user_email, $user, $user_email, $key, $meta);
$subject = apply_filters('bp_core_activation_signup_user_notification_subject', $subject, $user, $user_email, $key, $meta);
$message = apply_filters('bp_core_activation_signup_user_notification_message', $message, $user, $user_email, $key, $meta);
// Send the email
wp_mail($to, $subject, $message);
// Set up the $admin_email to pass to the filter
$admin_email = bp_get_option('admin_email');
do_action('bp_core_sent_user_signup_email', $admin_email, $subject, $message, $user, $user_email, $key, $meta);
// Return false to stop the original WPMU function from continuing
return false;
}
示例14: bp_activity_new_comment_notification
/**
* Sends an email notification and a BP notification when someone mentions you in an update
*
* @since BuddyPress (1.2)
*
* @param int $comment_id The comment id
* @param int $commenter_id The unique user_id of the user who posted the comment
* @param array $params {@link bp_activity_new_comment()}
*
* @uses bp_get_user_meta()
* @uses bp_core_get_user_displayname()
* @uses bp_activity_get_permalink()
* @uses bp_core_get_user_domain()
* @uses bp_get_settings_slug()
* @uses bp_activity_filter_kses()
* @uses bp_core_get_core_userdata()
* @uses wp_specialchars_decode()
* @uses get_blog_option()
* @uses bp_get_root_blog_id()
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_to' hook
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_subject' hook
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_message' hook
* @uses wp_mail()
* @uses do_action() To call the 'bp_activity_sent_reply_to_update_email' hook
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_comment_author_to' hook
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_comment_author_subject' hook
* @uses apply_filters() To call the 'bp_activity_new_comment_notification_comment_author_message' hook
* @uses do_action() To call the 'bp_activity_sent_reply_to_reply_email' hook
*/
function bp_activity_new_comment_notification($comment_id, $commenter_id, $params)
{
// Set some default parameters
$activity_id = 0;
$parent_id = 0;
extract($params);
$original_activity = new BP_Activity_Activity($activity_id);
if ($original_activity->user_id != $commenter_id && 'no' != bp_get_user_meta($original_activity->user_id, 'notification_activity_new_reply', true)) {
$poster_name = bp_core_get_user_displayname($commenter_id);
$thread_link = bp_activity_get_permalink($activity_id);
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = bp_core_get_user_domain($original_activity->user_id) . $settings_slug . '/notifications/';
$poster_name = stripslashes($poster_name);
$content = bp_activity_filter_kses(stripslashes($content));
// Set up and send the message
$ud = bp_core_get_core_userdata($original_activity->user_id);
$to = $ud->user_email;
$subject = bp_get_email_subject(array('text' => sprintf(__('%s replied to one of your updates', 'buddypress'), $poster_name)));
$message = sprintf(__('%1$s replied to one of your updates:
"%2$s"
To view your original update and all comments, log in and visit: %3$s
---------------------
', 'buddypress'), $poster_name, $content, $thread_link);
// Only show the disable notifications line if the settings component is enabled
if (bp_is_active('settings')) {
$message .= sprintf(__('To disable these notifications please log in and go to: %s', 'buddypress'), $settings_link);
}
/* Send the message */
$to = apply_filters('bp_activity_new_comment_notification_to', $to);
$subject = apply_filters('bp_activity_new_comment_notification_subject', $subject, $poster_name);
$message = apply_filters('bp_activity_new_comment_notification_message', $message, $poster_name, $content, $thread_link, $settings_link);
wp_mail($to, $subject, $message);
do_action('bp_activity_sent_reply_to_update_email', $original_activity->user_id, $subject, $message, $comment_id, $commenter_id, $params);
}
/***
* If this is a reply to another comment, send an email notification to the
* author of the immediate parent comment.
*/
if (empty($parent_id) || $activity_id == $parent_id) {
return false;
}
$parent_comment = new BP_Activity_Activity($parent_id);
if ($parent_comment->user_id != $commenter_id && $original_activity->user_id != $parent_comment->user_id && 'no' != bp_get_user_meta($parent_comment->user_id, 'notification_activity_new_reply', true)) {
$poster_name = bp_core_get_user_displayname($commenter_id);
$thread_link = bp_activity_get_permalink($activity_id);
$settings_slug = function_exists('bp_get_settings_slug') ? bp_get_settings_slug() : 'settings';
$settings_link = bp_core_get_user_domain($parent_comment->user_id) . $settings_slug . '/notifications/';
// Set up and send the message
$ud = bp_core_get_core_userdata($parent_comment->user_id);
$to = $ud->user_email;
$subject = bp_get_email_subject(array('text' => sprintf(__('%s replied to one of your comments', 'buddypress'), $poster_name)));
$poster_name = stripslashes($poster_name);
$content = bp_activity_filter_kses(stripslashes($content));
$message = sprintf(__('%1$s replied to one of your comments:
"%2$s"
To view the original activity, your comment and all replies, log in and visit: %3$s
---------------------
', 'buddypress'), $poster_name, $content, $thread_link);
// Only show the disable notifications line if the settings component is enabled
if (bp_is_active('settings')) {
$message .= sprintf(__('To disable these notifications please log in and go to: %s', 'buddypress'), $settings_link);
}
/* Send the message */
$to = apply_filters('bp_activity_new_comment_notification_comment_author_to', $to);
$subject = apply_filters('bp_activity_new_comment_notification_comment_author_subject', $subject, $poster_name);
//.........这里部分代码省略.........
示例15: bp_core_activation_signup_user_notification
function bp_core_activation_signup_user_notification($user, $user_email, $key, $meta)
{
$activate_url = bp_get_activation_page() . "?key={$key}";
$activate_url = esc_url($activate_url);
$admin_email = get_site_option('admin_email');
if (empty($admin_email)) {
$admin_email = 'support@' . $_SERVER['SERVER_NAME'];
}
$from_name = bp_get_option('blogname', 'WordPress');
$message_headers = "MIME-Version: 1.0\n" . "From: \"{$from_name}\" <{$admin_email}>\n" . "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"\n";
$message = sprintf(__("Thanks for registering! To complete the activation of your account please click the following link:\n\n%1\$s\n\n", 'buddypress'), $activate_url);
$subject = bp_get_email_subject(array('text' => __('Activate Your Account', 'buddypress')));
// Send the message
$to = apply_filters('bp_core_activation_signup_user_notification_to', $user_email, $user, $user_email, $key, $meta);
$subject = apply_filters('bp_core_activation_signup_user_notification_subject', $subject, $user, $user_email, $key, $meta);
$message = apply_filters('bp_core_activation_signup_user_notification_message', $message, $user, $user_email, $key, $meta);
wp_mail($to, $subject, $message, $message_headers);
do_action('bp_core_sent_user_signup_email', $admin_email, $subject, $message, $user, $user_email, $key, $meta);
// Return false to stop the original WPMU function from continuing
return false;
}