function ap_question_subscribers($action_id = false, $type = '', $avatar_size = 30) { global $question_category, $question_tag; if (!$action_id) { if (is_question()) { $action_id = get_question_id(); } elseif (is_question_category()) { $action_id = $question_category->term_id; } elseif (is_question_tag()) { $action_id = $question_tag->term_id; } } if ($type == '') { $type = is_question() ? '' : 'term'; } $subscribe_type = $type != '' && $type != 'subscriber' ? $type : 'subscriber'; $subscribers = ap_get_subscribers($action_id, $subscribe_type); if ($subscribers) { echo '<div class="ap-question-subscribers clearfix">'; echo '<div class="ap-question-subscribers-inner">'; foreach ($subscribers as $subscriber) { echo '<a href="' . ap_user_link($subscriber->apmeta_userid) . '"'; ap_hover_card_attributes($subscriber->apmeta_userid); echo '>' . get_avatar($subscriber->apmeta_userid, $avatar_size) . '</a>'; } echo '</div>'; echo '</div>'; } }
public function ap_after_update_answer($answer_id) { if (!ap_opt('notify_admin_edit_answer')) { return; } $current_user = wp_get_current_user(); $answer = get_post($answer_id); $this->emails = array(); if (ap_opt('notify_admin_email') != $current_user->user_email && ap_opt('notify_admin_edit_answer')) { $this->emails[] = ap_opt('notify_admin_email'); } $subscribers = ap_get_subscribers($answer_id, 'a_all', 100, true); $post_author = get_user_by('id', $answer->post_author); if (!ap_in_array_r($post_author->data->user_email, $subscribers)) { $subscribers[] = (object) array('user_email' => $post_author->data->user_email, 'ID' => $post_author->ID, 'display_name' => $post_author->data->display_name); } if ($subscribers) { foreach ($subscribers as $s) { if (!empty($s->user_email) && $s->user_email != $current_user->user_email) { $this->emails[] = $s->user_email; } } } if (!is_array($this->emails) || empty($this->emails)) { return; } $args = array('{answerer}' => ap_user_display_name($answer->post_author), '{editor}' => ap_user_display_name(get_current_user_id()), '{question_title}' => $answer->post_title, '{question_link}' => get_permalink($answer->post_parent), '{answer_content}' => $answer->post_content); $args = apply_filters('ap_edit_answer_email_tags', $args); $this->subject = $this->replace_tags(ap_opt('edit_answer_email_subject'), $args); $this->message = $this->replace_tags(ap_opt('edit_answer_email_body'), $args); $this->initiate_send_email(); }