/**
  * 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);
     }
 }
Esempio n. 3
0
 /**
  * @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);
     }
 }
Esempio n. 4
0
 /**
  * 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;
 }
Esempio n. 5
0
 /**
  * @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');
 }
Esempio n. 6
0
 /**
  * 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;
 }