/** * Unsubscribe the user from an author. * * @since 2.0.0 * * @param Prompt_User $author * @param bool|true $notify */ protected function author_unsubscribe(Prompt_User $author, $notify = true) { $author->unsubscribe($this->user_id); if ($notify) { Prompt_Subscription_Mailing::send_unsubscription_notification($this->user_id, $author); } }
/** * Unsubscribe from whatever the confirmation was for. * * @since 2.0.0 * * @param bool $notify */ protected function unsubscribe($notify = true) { /** @var Prompt_Interface_Subscribable $object */ $object = new $this->object_type($this->object_id); $object->unsubscribe($this->user_id); if ($notify) { Prompt_Subscription_Mailing::send_unsubscription_notification($this->user_id, $object); } }
/** * @since 2.0.0 * @param bool|false $notify */ protected function unsubscribe($notify = true) { if (empty($this->subscribable_class)) { return; } /** @var Prompt_Interface_Subscribable $list */ $list = new $this->subscribable_class($this->subscribable_id); if (!$list->is_subscribed($this->from_user_id)) { return; } $list->unsubscribe($this->from_user_id); if ($notify) { Prompt_Subscription_Mailing::send_unsubscription_notification($this->from_user_id, $list); } }
/** * Unsubscribe the user from new post comments. * @since 1.0.0 */ protected function unsubscribe() { $prompt_post = new Prompt_Post($this->post_id); if (!$prompt_post->is_subscribed($this->user_id)) { return; } $prompt_post->unsubscribe($this->user_id); Prompt_Subscription_Mailing::send_unsubscription_notification($this->user_id, $prompt_post); return; }
/** * @param Prompt_Interface_Subscribable $object * @param WP_User $subscriber * @param boolean $found_by_email * @return string Step response message */ protected static function unsubscribe($object, $subscriber, $found_by_email) { $object->unsubscribe($subscriber->ID); Prompt_Subscription_Mailing::send_unsubscription_notification($subscriber->ID, $object); return __('You have unsubscribed.', 'Postmatic'); }
/** * Unsubscribe an email address from a list. * * @since 1.0.0 * * @param string $email_address The address to unsubscribe * @param Prompt_Interface_Subscribable $list Optional, default is site-wide new posts. * @return string The resulting status, one of: * Prompt_Api::NEVER_SUBSCRIBED we don't recognize the email address * Prompt_Api::ALREADY_UNSUBSCRIBED * Prompt_Api::CONFIRMATION_SENT */ public static function unsubscribe($email_address, Prompt_Interface_Subscribable $list = null) { $user = get_user_by('email', $email_address); if (!$user) { return self::NEVER_SUBSCRIBED; } $list = $list ? $list : new Prompt_Site(); if (!$list->is_subscribed($user->ID)) { return self::ALREADY_UNSUBSCRIBED; } $list->unsubscribe($user->ID); Prompt_Subscription_Mailing::send_unsubscription_notification($user->ID, $list); return self::CONFIRMATION_SENT; }