You are here

interface SubscriberInterface in Simplenews 8

Same name and namespace in other branches
  1. 8.2 src/SubscriberInterface.php \Drupal\simplenews\SubscriberInterface
  2. 3.x src/SubscriberInterface.php \Drupal\simplenews\SubscriberInterface

Provides an interface defining a contant message entity

Hierarchy

Expanded class hierarchy of SubscriberInterface

All classes that implement SubscriberInterface

12 files declare their use of SubscriberInterface
ConfirmMultiForm.php in src/Form/ConfirmMultiForm.php
MailEntity.php in src/Mail/MailEntity.php
Mailer.php in src/Mail/Mailer.php
MailerInterface.php in src/Mail/MailerInterface.php
RecipientHandlerBase.php in src/Plugin/simplenews/RecipientHandler/RecipientHandlerBase.php

... See full list

File

src/SubscriberInterface.php, line 12

Namespace

Drupal\simplenews
View source
interface SubscriberInterface extends ContentEntityInterface {

  /**
   * Subscriber is inactive.
   */
  const INACTIVE = 0;

  /**
   * Subscriber is active.
   */
  const ACTIVE = 1;

  /**
   * Returns if the subscriber is active or not.
   *
   * @return boolean
   *   The subscribers status.
   */
  public function getStatus();

  /**
   * Sets the status of the subscriber.
   *
   * @param boolean $status
   *   The subscribers status.
   */
  public function setStatus($status);

  /**
   * Returns the subscribers email address.
   *
   * @return string
   *   The subscribers email address.
   */
  public function getMail();

  /**
   * Sets the subscribers email address.
   *
   * @param string $mail
   *   The subscribers email address.
   */
  public function setMail($mail);

  /**
   * Returns corresponding user ID.
   *
   * @return int
   *   The corresponding user ID.
   */
  public function getUserId();

  /**
   * Returns corresponding User object, if any.
   *
   * @return \Drupal\user\UserInterface|null
   *   The corresponding User object, or NULL if the subscriber is not synced
   *   with a user.
   */
  public function getUser();

  /**
   * Sets the corresponding user ID.
   *
   * @param string $uid
   *   The corresponding user ID.
   */
  public function setUserId($uid);

  /**
   * Returns the lang code.
   *
   * @return string
   *   The subscribers lang code.
   */
  public function getLangcode();

  /**
   * Sets the lang code.
   *
   * @param string $langcode
   *   The subscribers lang code.
   */
  public function setLangcode($langcode);

  /**
   * Fill values from a user account.
   *
   * @param \Drupal\Core\Session\AccountInterface $account
   *
   * @return $this
   */
  public function fillFromAccount(AccountInterface $account);

  /**
   * Returns the changes.
   *
   * @return array
   *   The subscriber changes.
   */
  public function getChanges();

  /**
   * Sets the changes.
   *
   * @param string $changes
   *   The subscriber changes.
   */
  public function setChanges($changes);

  /**
   * Check if the subscriber has an active subscription to a certain newsletter.
   *
   * @param string $newsletter_id
   *   The ID of a newsletter.
   *
   * @return bool
   *   Returns TRUE if the subscriber has the subscription, otherwise FALSE.
   */
  public function isSubscribed($newsletter_id);

  /**
   * Check if the subscriber has an inactive subscription to a certain newsletter.
   *
   * @param string $newsletter_id
   *   The ID of a newsletter.
   *
   * @return bool
   *   Returns TRUE if the subscriber has the inactive subscription, otherwise FALSE.
   */
  public function isUnsubscribed($newsletter_id);

  /**
   * Check if the subscriber has a subscription to a certain newsletter and return it.
   *
   * @param string $newsletter_id
   *   The ID of a newsletter.
   *
   * @return \Drupal\simplenews\Plugin\Field\FieldType\SubscriptionItem
   *   Returns the subscription item if the subscriber has the subscription, otherwise FALSE.
   */
  public function getSubscription($newsletter_id);

  /**
   * Get the ids of all subscribed newsletters.
   *
   * @return array of newsletter ids
   *   Returns the ids of all newsletters the subscriber is subscribed.
   */
  public function getSubscribedNewsletterIds();

  /**
   * Add a subscription to a certain newsletter to the subscriber.
   *
   * @param string $newsletter_id
   *   The ID of a newsletter.
   * @param int $status
   *   The status of the subscription.
   * @param string $source
   *   The source where the subscription comes from.
   * @param int $timestamp
   *   The timestamp of when the subscription was added.
   */
  public function subscribe($newsletter_id, $status = SIMPLENEWS_SUBSCRIPTION_STATUS_SUBSCRIBED, $source = 'unknown', $timestamp = REQUEST_TIME);

  /**
   * Delete a subscription to a certain newsletter of the subscriber.
   *
   * @param string $newsletter_id
   *   The ID of a newsletter.
   * @param string $source
   *   The source where the subscription comes from.
   * @param int $timestamp
   *   The timestamp of when the subscription was added.
   */
  public function unsubscribe($newsletter_id, $source = 'unknown', $timestamp = REQUEST_TIME);

  /**
   * Returns whether currently syncing field values to corresponding User.
   *
   * @return bool
   *   TRUE if invoked during syncing, otherwise FALSE.
   */
  public function isSyncing();

  /**
   * Sets whether the subscriber is syncing from/to the corresponding user.
   *
   * @param bool $sync
   *   (optional) Whether the subscriber is syncing. Defaults to TRUE.
   */
  public function setSyncing($sync = TRUE);

  /**
   * Identifies configurable fields shared with a user.
   *
   * @param \Drupal\user\UserInterface $user
   *   The user to match fields against.
   *
   * @return string[]
   *   An indexed array of the names of each field for which there is also a
   *   field on the given user with the same name and type.
   */
  public function getUserSharedFields(UserInterface $user);

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 9
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 34
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 34
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 27
EntityInterface::bundle public function Gets the bundle of the entity. 2
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 2
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 2
EntityInterface::enforceIsNew public function Enforces an entity to be new. 2
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 2
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 2
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 2
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 2
EntityInterface::getEntityType public function Gets the entity type definition. 2
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 2
EntityInterface::getOriginalId public function Gets the original ID. 2
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 2
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 2
EntityInterface::id public function Gets the identifier. 2
EntityInterface::isNew public function Determines whether the entity is new. 2
EntityInterface::label public function Gets the label of the entity. 2
EntityInterface::language public function Gets the language of the entity. 2
EntityInterface::link Deprecated public function Deprecated way of generating a link to the entity. See toLink(). 2
EntityInterface::load public static function Loads an entity. 2
EntityInterface::loadMultiple public static function Loads one or more entities. 2
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 2
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 2
EntityInterface::postLoad public static function Acts on loaded entities. 3
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 2
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 2
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 2
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 2
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 2
EntityInterface::setOriginalId public function Sets the original ID. 2
EntityInterface::toLink public function Generates the HTML for a link to this entity. 2
EntityInterface::toUrl public function Gets the URL object for the entity. 2
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 2
EntityInterface::url Deprecated public function Gets the public URL for this entity. 2
EntityInterface::urlInfo Deprecated public function Gets the URL object for the entity. 2
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 2
FieldableEntityInterface::baseFieldDefinitions public static function Provides base field definitions for an entity type. 2
FieldableEntityInterface::bundleFieldDefinitions public static function Provides field definitions for a specific bundle. 2
FieldableEntityInterface::get public function Gets a field item list. 1
FieldableEntityInterface::getFieldDefinition public function Gets the definition of a contained field. 1
FieldableEntityInterface::getFieldDefinitions public function Gets an array of field definitions of all contained fields. 1
FieldableEntityInterface::getFields public function Gets an array of all field item lists. 1
FieldableEntityInterface::getTranslatableFields public function Gets an array of field item lists for translatable fields. 1
FieldableEntityInterface::hasField public function Determines whether the entity has a field with the given name. 1
FieldableEntityInterface::isValidationRequired public function Checks whether entity validation is required before saving the entity. 1
FieldableEntityInterface::onChange public function Reacts to changes to a field. 1
FieldableEntityInterface::set public function Sets a field value. 1
FieldableEntityInterface::setValidationRequired public function Sets whether entity validation is required before saving the entity. 1
FieldableEntityInterface::toArray public function Gets an array of all field values. Overrides EntityInterface::toArray
FieldableEntityInterface::validate public function Validates the currently set values. 1
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1
RevisionableInterface::getLoadedRevisionId public function Gets the loaded Revision ID of the entity. 1
RevisionableInterface::getRevisionId public function Gets the revision identifier of the entity. 1
RevisionableInterface::isDefaultRevision public function Checks if this entity is the default revision. 1
RevisionableInterface::isLatestRevision public function Checks if this entity is the latest revision. 1
RevisionableInterface::isNewRevision public function Determines whether a new revision should be created on save. 1
RevisionableInterface::preSaveRevision public function Acts on a revision before it gets saved. 1
RevisionableInterface::setNewRevision public function Enforces an entity to be saved as a new revision. 1
RevisionableInterface::updateLoadedRevisionId public function Updates the loaded Revision ID with the revision ID. 1
RevisionableInterface::wasDefaultRevision public function Checks whether the entity object was a default revision when it was saved. 1
SubscriberInterface::ACTIVE constant Subscriber is active.
SubscriberInterface::fillFromAccount public function Fill values from a user account. 1
SubscriberInterface::getChanges public function Returns the changes. 1
SubscriberInterface::getLangcode public function Returns the lang code. 1
SubscriberInterface::getMail public function Returns the subscribers email address. 1
SubscriberInterface::getStatus public function Returns if the subscriber is active or not. 1
SubscriberInterface::getSubscribedNewsletterIds public function Get the ids of all subscribed newsletters. 1
SubscriberInterface::getSubscription public function Check if the subscriber has a subscription to a certain newsletter and return it. 1
SubscriberInterface::getUser public function Returns corresponding User object, if any. 1
SubscriberInterface::getUserId public function Returns corresponding user ID. 1
SubscriberInterface::getUserSharedFields public function Identifies configurable fields shared with a user. 1
SubscriberInterface::INACTIVE constant Subscriber is inactive.
SubscriberInterface::isSubscribed public function Check if the subscriber has an active subscription to a certain newsletter. 1
SubscriberInterface::isSyncing public function Returns whether currently syncing field values to corresponding User. Overrides SynchronizableInterface::isSyncing
SubscriberInterface::isUnsubscribed public function Check if the subscriber has an inactive subscription to a certain newsletter. 1
SubscriberInterface::setChanges public function Sets the changes. 1
SubscriberInterface::setLangcode public function Sets the lang code. 1
SubscriberInterface::setMail public function Sets the subscribers email address. 1
SubscriberInterface::setStatus public function Sets the status of the subscriber. 1
SubscriberInterface::setSyncing public function Sets whether the subscriber is syncing from/to the corresponding user. Overrides SynchronizableInterface::setSyncing
SubscriberInterface::setUserId public function Sets the corresponding user ID. 1
SubscriberInterface::subscribe public function Add a subscription to a certain newsletter to the subscriber. 1
SubscriberInterface::unsubscribe public function Delete a subscription to a certain newsletter of the subscriber. 1
TranslatableInterface::addTranslation public function Adds a new translation to the translatable object. 1
TranslatableInterface::getTranslation public function Gets a translation of the data. 1
TranslatableInterface::getTranslationLanguages public function Returns the languages the data is translated to. 1
TranslatableInterface::getUntranslated public function Returns the translatable object referring to the original language. 1
TranslatableInterface::hasTranslation public function Checks there is a translation for the given language code. 1
TranslatableInterface::hasTranslationChanges public function Determines if the current translation of the entity has unsaved changes. 1
TranslatableInterface::isDefaultTranslation public function Checks whether the translation is the default one. 1
TranslatableInterface::isNewTranslation public function Checks whether the translation is new. 1
TranslatableInterface::isTranslatable public function Returns the translation support status. 1
TranslatableInterface::removeTranslation public function Removes the translation identified by the given language code. 1
TranslatableRevisionableInterface::isDefaultTranslationAffectedOnly public function Checks if untranslatable fields should affect only the default translation. 1
TranslatableRevisionableInterface::isLatestTranslationAffectedRevision public function Checks whether this is the latest revision affecting this translation. 1
TranslatableRevisionableInterface::isRevisionTranslationAffected public function Checks whether the current translation is affected by the current revision. 1
TranslatableRevisionableInterface::isRevisionTranslationAffectedEnforced public function Checks if the revision translation affected flag value has been enforced. 1
TranslatableRevisionableInterface::setRevisionTranslationAffected public function Marks the current revision translation as affected. 1
TranslatableRevisionableInterface::setRevisionTranslationAffectedEnforced public function Enforces the revision translation affected flag value. 1