/**
  * 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');
}
Example #3
0
 /**
  * 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;
 }