/** * Template tag to return a bbP forum's encoded email address. * * @uses BBP_RBE_Extension::new_topic_querystring() * @uses bp_rbe_inject_qs_in_email() */ public function get_forum_encoded_email_address() { $querystring = $this->new_topic_querystring(); return bp_rbe_inject_qs_in_email($querystring . '-new'); }
/** * Returns the encoded group email address for a user. * Note: Each user gets their own, individual email address per group. * * Takes $user_id and $group_id as parameters. * If no parameters are passed, uses logged in user and current group respectively. * * @since 1.0-beta */ function bp_rbe_groups_get_encoded_email_address($user_id = false, $group_id = false) { $user_id = !$user_id ? bp_loggedin_user_id() : $user_id; $group_id = !$group_id ? bp_get_current_group_id() : $group_id; if (!$user_id || !$group_id) { return false; } $gstring = 'g=' . $group_id; $querystring = apply_filters('bp_rbe_encode_group_querystring', bp_rbe_encode(array('string' => $gstring, 'param' => $user_id)), $user_id, $group_id); return bp_rbe_inject_qs_in_email($querystring . '-new'); }
/** * Get the email address used for the 'Reply-To' email header. * * @since 1.0-RC4 * * @param array $headers Email headers. */ protected function get_reply_to_address($headers = array()) { if (empty($this->listener->item_id)) { return ''; } // Setup our querystring which we'll add to the Reply-To header $querystring = ''; switch ($this->listener->component) { case 'activity': $querystring = "a={$this->listener->item_id}&p={$this->listener->secondary_item_id}"; break; // BP Group Email Subscripton (GES) plugin compatibility // GES will send out group forum emails, so let's setup our param. // BP Group Email Subscripton (GES) plugin compatibility // GES will send out group forum emails, so let's setup our param. case 'forums': $querystring = "t={$this->listener->item_id}&g={$this->listener->secondary_item_id}"; break; case 'messages': $querystring = "m={$this->listener->item_id}"; break; // 3rd party plugins can hook into this // 3rd party plugins can hook into this default: $querystring = apply_filters('bp_rbe_extend_querystring', $querystring, $this->listener); break; } // last chance to disable the querystring with this filter! $querystring = apply_filters('bp_rbe_querystring', $querystring, $this->listener, $headers); // Add our special querystring to the Reply-To header! if (!empty($querystring)) { // Encode the qs // Don't like this? there's a filter for that! $querystring = apply_filters('bp_rbe_encode_querystring', bp_rbe_encode(array('string' => $querystring)), $querystring); // Inject the querystring into the email address $querystring = bp_rbe_inject_qs_in_email($querystring); } return $querystring; }