/** * 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; }