コード例 #1
0
ファイル: functions.php プロジェクト: pleio/newsletter
/**
 * Block an email address from all newsletters
 *
 * @param string $email The email address to block
 *
 * @return boolean True on success, false on failure
 */
function newsletter_unsubscribe_all_email($email)
{
    $result = false;
    if (!empty($email) && newsletter_is_email_address($email)) {
        // get subscription
        $subscription = newsletter_get_subscription($email);
        if (empty($subscription)) {
            $subscription = new NewsletterSubscription();
            $subscription->title = $email;
            if (!$subscription->save()) {
                return false;
            }
            // remove all existing subscriptions
            remove_entity_relationships($subscription->getGUID(), NewsletterSubscription::SUBSCRIPTION);
            // add to general blacklist
            $site = elgg_get_site_entity();
            $result = (bool) add_entity_relationship($subscription->getGUID(), NewsletterSubscription::GENERAL_BLACKLIST, $site->getGUID());
        }
    }
    return $result;
}